ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

redis 简介,安装

2022-08-11 10:00:42  阅读:180  来源: 互联网

标签:5.0 aof 缓存 简介 redis data Redis 安装


简介

什么是缓存?
缓存就是将数据存放在距离计算机最近的位置以加快处理速度。缓存是改善软件性能的第一手段,在复杂的软件设计中,缓存几乎无处不在。大型网站架构设计在很多方面都使用了缓存设计。Redis就是目前缓存的主流技术。
缓存主要用来存放那些读写比较高、很少变化的数据,应用程序读取数据时,先到缓存中读取,如果读取不到或数据已失效,再访问数据库,并将数据写入缓存。

 

                                                                                             

 

Redis是Nosql数据库中使用较为广泛的非关系型内存数据库,Redis内部是一个key-value存储系统。它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set –有序集合)和hash(哈希类型,类似于Java中的map)。
Redis基于内存运行(读写速度远快于硬盘)并支持持久化到磁盘的NoSQL数据库,是当前最热门的NoSql数据库之一。性能极高 , Redis能读的速度是110000次/s,写的速度是81000次/s 。
Redis操作语言相比SQL要简单,基于C语言开发,代码量只有3万多行,运行稳定。Redis的所有操作都是原子性的,同时Redis还支持对几个操作全并后的原子性执行。

一,准备工作

1.下载 http://download.redis.io/releases/redis-5.0.9.tar.gz,复制到安装主机/home目录下。
2.修改/etc/security/limits.conf,添加如下内容:
* soft nofile 65535
* hard nofile 65535
3.修改主机名:hostnamectl set-hostname <主机名>
4.安装gcc依赖包:yum install gcc –y
5.查看透明大页是否开启:
cat /sys/kernel/mm/transparent_hugepage/enabled
输出结果为[always]表示启用, [never]表示禁用
如果是启用状态,需要禁用,透明大页可能导致redis延迟和内存使用问题。修改/etc/default/grub如下内容:
GRUB_CMDLINE_LINUX="... transparent_hugepage=never“
执行命令:执行生效命令 grub2-mkconfig -o /boot/grub2/grub.cfg
或者执行临时禁用命令:
echo never > /sys/kernel/mm/transparent_hugepage/enabled
6.修改/etc/sysctl.conf ,添加如下内容:
vm.overcommit_memory=1 #表示内核允许分配所有的物理内存
net.core.somaxconn=65535 #表示socket监听(listen)的backlog监听队列上限
查询命令: sysctl -p

7.创建数据和日志目录:
mkdir -p /data/redis/logs
mkdir -p /data/redis/data
8.关闭selinux,修改/etc/sysconfig/selinux:
SELINUX=disabled
查询命令:getenforce
临时禁用命令:setenforce 0
9.创建redis用户:
groupadd redis
useradd -r -g redis redis
passwd redis
10.为数据和日志目录授权
chown -R redis:redis /data/redis/logs
chown -R redis:redis /data/redis/data
10.重启服务器:
reboot

二.安装部署
1.解压
cd /home
tar -xzvf redis-5.0.9.tar.gz -C /usr/local/
2.编译安装并授权
cd /usr/local/redis-5.0.9/src
make && make install
chown -R redis:redis /usr/local/redis-5.0.9
3.配置环境变量,修改/etc/profile,添加如下内容:
export PATH=$PATH:/usr/local/redis-5.0.9/src
source /etc/profile
4.更新配置文件/usr/local/redis-5.0.9/redis.conf
daemonize yes #默认以后台程序方式运行
pidfile /data/redis/logs/redis_6379.pid #pid文件路径
bind 127.0.0.1 192.168.0.1 #对外访问IP
port 6379 #对外访问端口
timeout 60 #客户端访问超时
loglevel warning #日志级别
logfile “/data/redis/logs/redis-server-6379.log” #日志文件路径
databases 16 #数据库数量

dbfilename dump-6379.rdb #数据快照文件名称
dir /data/redis/data #持久化数据存储目录
requirepass 123456 #redis访问密码
maxclients 10000 #客户端并发访问连接数
maxmemory 1gb #内存使用上限
maxmemory-policy volatile-lru #清除最近最少使用的到期键值内存占用
appendonly yes #开启持久化机制
appendfilename “appendonly6379.aof“ #持久化文件名
appendfsync everysec #每秒一次同步到磁盘
no-appendfsync-on-rewrite yes #重写期间对aof新记录暂缓使用文件同步
auto-aof-rewrite-percentage 100 #当aof增长超过一倍,重写aof文件
auto-aof-rewrite-min-size 64mb #触发aof 重写的最小文件大小
slowlog-log-slower-than 10000 #慢查询时间,单位微秒
slowlog-max-len 1024 #慢查询最大条数
hz 50 #提高cpu使用量,加快响应速度,更精确地处理超时,不建议超过100
aof-rewrite-incremental-fsync yes #每生成32M数据会被同步到aof文件

5.启动redis
su redis
redis-server /usr/local/redis-5.0.9/redis.conf
6.配置开机自启动,创建/etc/systemd/system/redis.service,添加如下内容:
[Unit]
Description=redis-server
After=syslog.target network.target remote-fs.target nss-lookup.target
[Service]
User=redis
Group=redis
Type=forking
PIDFile=/data/redis/logs/redis_6379.pid
ExecStart=/usr/local/redis-5.0.9/src/redis-server /usr/local/redis-5.0.9/redis.conf
ExecReload=/bin/kill -s HUP $MAINPID
ExecStop=/bin/kill -s QUIT $MAINPID
PrivateTmp=true
[Install]
WantedBy=multi-user.target
重载系统服务:systemctl daemon-reload
开机自启:systemctl enable redis.service

Redis常用命令
ping:测定连接是否存活 select:选择数据库
quit:退出连接 dbsize:返回当前数据库中key的数目
info:获取服务器的信息和统计 config get 配置项:获取服务器配置的信息
config set 配置项  值:设置配置项信息 flushdb:删除当前选择数据库中所有的key
flushall:删除所有数据库中的所有的key shutdown [save/nosave]:停服
showlog:显示慢查询 get key:取值
set key value:建值

 

标签:5.0,aof,缓存,简介,redis,data,Redis,安装
来源: https://www.cnblogs.com/xuxinxiang4836/p/16574917.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有