一.简介与安装
Redis是c语言开发的。(装c语言环境、解压、编译、安装)端口号6379
很多项目中,为了缓解我们服务器与数据库的压力,我们使用缓存。
安装redis需要c语言的编译环境。如果没有gcc需要在线安装。yum install gcc-c++
安装步骤:
第一步:redis的源码包上传到linux系统。
第二步:解压缩redis。
第三步:编译。进入redis源码目录。make (c语言项目需要编译)
第四步:安装。make install PREFIX=/usr/local/redis
PREFIX参数指定redis的安装目录。一般软件安装到/usr目录下
前端启动:在redis的安装目录下的src目录直接启动redis-server(叫前端启动是因为会占用我们的命令号,命令号就无法使用了 不推荐) 使用ctrl+c退出
[root@localhost bin]# ./redis-server
后台启动(需要配置文件):
把解压出来的文件复制到 我们的安装目录的bin文件中并且修改配置文件
/root/redis-3.0.0/redis.conf复制到/usr/local/redis/bin目录下
[root@localhost redis-3.0.0]# cp redis.conf /usr/local/redis/bin/
修改配置文件:
加载该配置文件启动 :[root@localhost bin]# ./redis-server redis.conf
查看redis进程:
[root@localhost bin]# ps aux|grep redis
root 5190 0.1 0.3 33936 1712 ? Ssl 18:23 0:00 ./redis-server *:6379
root 5196 0.0 0.1 4356 728 pts/0 S+ 18:24 0:00 grep redis
关闭服务 kill + 端口号 或者kill + 端口号 + -9 强制关闭
或者使用reids-cli客户端断臂 ./redis-cli/ shutdown
二.redis操作与使用
使用./redis-cli 命令客户端连接哪个redis服务 默认端口号为6379
也可以指定ip和端口号 ./redis-cli -h 192.168.25.162 -p 6379
具体数据操作见: https://blog.csdn.net/afdasfggasdf/article/details/84135841
三.redis的持久化方案
Redis的所有数据都是保存到内存中的。
Rdb:快照形式,定期把内存中当前时刻的数据保存到磁盘。Redis默认支持的持久化方案。
aof形式:append only file。把所有对redis数据库操作的命令,增删改操作的命令。保存到文件中。数据库恢复时把所有的命令执行一遍即可。(默认不开启 每秒存一次消耗内存)
在redis.conf配置文件中配置。
Rdb:
Aof的配置 appendonly改为 yes就可以了:
两种持久化方案同时开启使用aof文件来恢复数据库。
四.redis集群
redis-cluster架构
只能是单数 因为有投票机制
架构细节:
(1)所有的redis节点彼此互联(PING-PONG机制),内部使用二进制协议优化传输速度和带宽.
(2)节点的fail是通过集群中超过半数的节点检测失效时才生效.
(3)客户端与redis节点直连,不需要中间proxy层.客户端不需要连接集群所有节点,连接集群中任何一个可用节点即可
(4)redis-cluster把所有的物理节点映射到[0-16383]slot上,cluster 负责维护node<->slot<->value
Redis 集群中内置了 16384 个哈希槽,当需要在 Redis 集群中放置一个 key-value 时,redis 先对 key 使用 crc16 算法算出一个结果,然后把结果对 16384 求余数,这样每个 key 都会对应一个编号在 0-16383 之间的哈希槽,redis 会根据节点数量大致均等的将哈希槽映射到不同的节点(不关有多少redis都只有16384个节点)