redis笔记
一、redis五种数据类型
String、list、hash、set、sortedSet
二、redis命令
1、String
新增:set key value
查询:get key
删除:del key
2、hash
新增:hset key filed value
查询:hget key filed
获取所有:hgetall key
删除:hdel key filed
3、list(可以重复)
新增:
左新增:lpush key value
右新增:rpush key value
查询:
查询:lrange key start end
查询所有:lrange key 0 -1
删除:
lpop key删除最左边元素
lpop key num 从左边开始,删除num个元素
4、set(不允许重复,无序数据)
新增:sadd key [value1,value2,value3...]
查询:smembers key 获取所有key元素
删除:srem key value,删除value元素
5、sortedset(不允许重复,有序列表,常用于存储分数)
新增:zadd key score value
查询:zrange key start end
zrange key 0 -1 查询所有
zrange key 0 -1 withscores
删除:zrem key value
三、redis通用命令
1、keys *查询所有key
2、del key 删除指定key
3、type key 查询key类型
四、redis启动命令和客户端连接命令
1、启动命令
./bin/redis-server config/redis.conf
2、客户端登录命令
./bin/redis-cli -a redis123456
五、redis持久化机制
1、RDB默认持久化机制,根据设置一定时间间隔将数据持久化
# 900秒内,如果至少有1个key被修改,则执行bgsave , 如果是save "" 则表示禁用RDB
save 900 1
save 300 10
save 60 10000
# 是否压缩 ,建议不开启,压缩也会消耗cpu,磁盘的话不值钱
rdbcompression yes
# RDB文件名称
dbfilename dump.rdb
# 文件保存的路径目录
dir ./
2、AOF可以记录每一次命令日志,每执行一次将数据持久化到磁盘中。
# 是否开启AOF功能,默认是no
appendonly yes
# AOF文件的名称
appendfilename "appendonly.aof"
# 表示每执行一次写命令,立即记录到AOF文件
appendfsync always
# 写命令执行完先放入AOF缓冲区,然后表示每隔1秒将缓冲区数据写到AOF文件,是默认方案
appendfsync everysec
# 写命令执行完先放入AOF缓冲区,由操作系统决定何时将缓冲区内容写回磁盘
appendfsync no

五、redis主从【单节点Redis的并发能力是有上限的,要进一步提高Redis的并发能力,就需要搭建主从集群,实现读写分离。】
1、主从集群配置,在redis.conf配置文件添加
在非master节点的redis.conf配置文件添加一行 slaveof <masterip> <masterport> //redis5.0以前 或者 replicaof <masterip> <masterport>
查看主从节点状态命令
info replication
重启redis,发现只能在主节点才能写入数据,从节点只能查询数据。
2、数据同步
2.1、主从第一次连接时,会执行全量同步。
如何判断第一次连接?
redis会根据一个replid。如果replid一致说明是统一数据集,每个master都有唯一的replid。slave则会继承master节点的replid。另外offset偏移量,随着记录在repl_baklog中的数据增多而逐渐增大。slave完成同步时也会记录当前同步的offset。如果slave的offset小于master的offset,说明slave数据落后于master,需要更新。当从节点做数据同步时,必须向主节点声明自己的repid和offset,主节点才可以判断同步那些数据。
2.2增量同步。就是只更新slave和master存在差异的部分数据。

浙公网安备 33010602011771号