Redis 知识点罗列&速查
2021-07-27 11:49:55 30 举报
登录查看完整内容
基本知识点的罗列和速查
作者其他创作
大纲/内容
SpringBoot中,使用 redisTemplate.executePipelined(RedisCallback<Object> rc) 实现
Redis管道
通过 Multi 开启事务
每一条命令被提交到事务中
开启事务
Redis将请求放入事务队列中等待执行
服务器返回 QURUD 则表示命令已入队
命令入队列
通过 Exec 命令执行事务
Redis 事务中错误执行的命令不会影响其他命令(可以通过 Watch 命令 监控/批量监控)
事务全部执行完,返回给客户端结果
执行事务
SpringBoot实现
Redis事务
subscribe 订阅1~n 个 频道(Channel)
psubscribe 订阅 1~n 个 符合给定模式的 频道
unsubscribe 退订指定频道
publish 发布信心到指定频道
pubsub 查看 发布/订阅系统 的状态
Redis 发布/订阅 Pub/Sub
从数据库需加入配置,指明主数据库 / 主数据库无需任何配置
复制原理
主从模式(Master-Slave)
核心:检测到 Master 宕机时,自动将 Slave 切换到 Master,完成主备热切
哨兵模式(Sentinel)
各节点间通过 PING-PONG 机制互联(内部使用二进制协议优化传输速度)
某节点若「被超过半数的节点认为是 Fail 状态」,则该节点被标记为 Fail
客户端与Redis节点直连,只要是可用节点均可操作集群
Redis-Cluster 将所有物理节点映射在 0~16383 的 slot(槽)上,Cluster负责维护每个节点上数据槽的分配。(Redis会根据节点数量将槽大致均等地分布在不同节点)
遵循规则:
集群模式(Cluster)
核心:集群中一部分节点 失效/无法通信 时,仍然可以基于副本数据对外提供服务
高可用
特点:文件格式紧凑,数据的传输个恢复快速
原理:保存 .rdb 快照文件时,父进程 fork 出一个子进程,由子进程完成具体的持久化工作
RDB - Redis DataBase
无 fsync
每秒 fsync
写时 fsync
特点:可以使用不同的 fsync 策略,且支持重写功能缩小日志文件大小
原理:每次写操作会被保存到日志文件末尾
AOF - Append Only File
持久化
内存数据库
缓存
消息中间件
角色
set 设置、get 获取、getset 给key设置value并返回旧value、append 追加 、mset 设置一个或多个子字符、mget 获取多个值
setnx 不存在时设置key的值,否则不响应、msetnx 当且仅当所有key均不存在时设置key的值,否则不响应
setex 将value关联到key,同时设置过期时间(单位 s)
psetex 将value关联到key,同时设置过期时间(单位 ms)
incr 自增、decr 自减、incrby 自定义增、decrby 自定义减
getrange key start end 返回指定区间的值
setrange key start value 在key的start位置插入value
String - 字符串、整数、浮点数
hset、hget、hkeys、hvals...
Hash - k-v 映射表
rpush、lpop、lpush、rpop、lindex :获取索引位置的value
blpop :移除列头元素,若没有则阻塞直至超时或等到可移除的元素
lrange :获取列表指定范围内的元素、lset :给索引位置key赋value
linsert key before/after pivot value:在pivot元素 之前/之后 插入value这个元素
lrem key count value : 移除count个等于value的元素 (lrem key 0 value : \"删除list0中所有value值\")
ltrim :修剪不在指定区间内的元素
List - 可重复有序集和
sadd 增、smembers 查、srem 删、scard 数量
smove set1 set2 key :将set1中的key移至set2
spop :随机移除并返回set中的一个元素
Set - 不可重复无序集合
zadd key score1 value1 score2 value2 ...
zrange i style=\"\
zcard 数量、zrem 删除、zscore key member :指定member分值
zcount key min max :返回min~max间的存在数量
zrank :升序下的排名、zrevrank :降序下的排名
ZSet - 带分数的不可重复有序集合
setbit/getbit key offset(0/1)
bitcount key [start end] :统计offset=1的数目
BitMap - 位图(1bit状态位)
pfadd :添加指定元素进入
pfcount:返回指定键的基数估计值
pfmerge:多合一
HyperLogLog - 基数统计(计算一个Set中元素数目の概率)
Geo - 地理位置信息
Stream - 5.0+ 可持久化消息队列
数据结构
Redis
收藏
0 条评论
回复 删除
下一页