微信读书书城
Redis使用手册
版权信息
加入书架
登录
查看
全部搜索结果
书城
目录
设置
加入书架
Redis使用手册
黄健宏
版权信息
前言
第1章 引言
1.1 Redis简介
1.2 内容编排
1.3 目标读者
1.4 预备工作
1.5 执行命令
1.6 配置服务器
1.7 示例代码
1.8 版本说明
1.9 读者服务网站
1.10 启程
01第一部分 数据结构与应用
第2章 字符串
2.1 SET:为字符串键设置值
2.2 GET:获取字符串键的值
2.3 GETSET:获取旧值并设置新值
示例:缓存
示例:锁
2.4 MSET:一次为多个字符串键设置值
2.5 MGET:一次获取多个字符串键的值
2.6 MSETNX:只在键不存在的情况下,一次为多个字符串键设置值
示例:存储文章信息
2.7 STRLEN:获取字符串值的字节长度
2.8 字符串值的索引
2.9 GETRANGE:获取字符串值指定索引范围上的内容
2.10 SETRANGE:对字符串值的指定索引范围进行设置
示例:给文章存储程序加上文章长度计数功能和文章预览功能
2.11 APPEND:追加新内容到值的末尾
示例:存储日志
2.12 使用字符串键存储数字值
2.13 INCRBY、DECRBY:对整数值执行加法操作和减法操作
2.14 INCR、DECR:对整数值执行加1操作和减1操作
2.15 INCRBYFLOAT:对数字值执行浮点数加法操作
示例:ID生成器
示例:计数器
示例:限速器
2.16 重点回顾
第3章 散列
3.1 散列简介
3.2 HSET:为字段设置值
3.3 HSETNX:只在字段不存在的情况下为它设置值
3.4 HGET:获取字段的值
示例:实现短网址生成程序
3.5 HINCRBY:对字段存储的整数值执行加法或减法操作
3.6 HINCRBYFLOAT:对字段存储的数字值执行浮点数加法或减法操作
示例:使用散列键重新实现计数器
3.7 HSTRLEN:获取字段值的字节长度
3.8 HEXISTS:检查字段是否存在
3.9 HDEL:删除字段
3.10 HLEN:获取散列包含的字段数量
示例:实现用户登录会话
3.11 HMSET:一次为多个字段设置值
3.12 HMGET:一次获取多个字段的值
3.13 HKEYS、HVALS、HGETALL:获取所有字段、所有值、所有字段和值
示例:存储图数据
示例:使用散列键重新实现文章存储程序
3.14 散列与字符串
3.15 重点回顾
第4章 列表
4.1 LPUSH:将元素推入列表左端
4.2 RPUSH:将元素推入列表右端
4.3 LPUSHX、RPUSHX:只对已存在的列表执行推入操作
4.4 LPOP:弹出列表最左端的元素
4.5 RPOP:弹出列表最右端的元素
4.6 RPOPLPUSH:将右端弹出的元素推入左端
示例:先进先出队列
4.7 LLEN:获取列表的长度
4.8 LINDEX:获取指定索引上的元素
4.9 LRANGE:获取指定索引范围上的元素
示例:分页
4.10 LSET:为指定索引设置新元素
4.11 LINSERT:将元素插入列表
4.12 LTRIM:修剪列表
4.13 LREM:从列表中移除指定元素
示例:待办事项列表
4.14 BLPOP:阻塞式左端弹出操作
4.15 BRPOP:阻塞式右端弹出操作
4.16 BRPOPLPUSH:阻塞式弹出并推入操作
示例:带有阻塞功能的消息队列
4.17 重点回顾
第5章 集合
5.1 SADD:将元素添加到集合
5.2 SREM:从集合中移除元素
5.3 SMOVE:将元素从一个集合移动到另一个集合
5.4 SMEMBERS:获取集合包含的所有元素
5.5 SCARD:获取集合包含的元素数量
5.6 SISMEMBER:检查给定元素是否存在于集合
示例:唯一计数器
示例:打标签
示例:点赞
示例:投票
示例:社交关系
5.7 SRANDMEMBER:随机获取集合中的元素
5.8 SPOP:随机地从集合中移除指定数量的元素
示例:抽奖
5.9 SINTER、SINTERSTORE:对集合执行交集计算
5.10 SUNION、SUNIONSTORE:对集合执行并集计算
5.11 SDIFF、SDIFFSTORE:对集合执行差集计算
示例:共同关注与推荐关注
示例:使用反向索引构建商品筛选器
5.12 重点回顾
第6章 有序集合
6.1 ZADD:添加或更新成员
6.2 ZREM:移除指定的成员
6.3 ZSCORE:获取成员的分值
6.4 ZINCRBY:对成员的分值执行自增或自减操作
6.5 ZCARD:获取有序集合的大小
6.6 ZRANK、ZREVRANK:获取成员在有序集合中的排名
6.7 ZRANGE、ZREVRANGE:获取指定索引范围内的成员
示例:排行榜
6.8 ZRANGEBYSCORE、ZREVRANGEBYSCORE:获取指定分值范围内的成员
6.9 ZCOUNT:统计指定分值范围内的成员数量
示例:时间线
6.10 ZREMRANGEBYRANK:移除指定排名范围内的成员
6.11 ZREMRANGEBYSCORE:移除指定分值范围内的成员
6.12 ZUNIONSTORE、ZINTERSTORE:有序集合的并集运算和交集运算
示例:商品推荐
6.13 ZRANGEBYLEX、ZREVRANGEBYLEX:返回指定字典序范围内的成员
6.14 ZLEXCOUNT:统计位于字典序指定范围内的成员数量
6.15 ZREMRANGEBYLEX:移除位于字典序指定范围内的成员
示例:自动补全
6.16 ZPOPMAX、ZPOPMIN:弹出分值最高和最低的成员
6.17 BZPOPMAX、BZPOPMIN:阻塞式最大/最小元素弹出操作
6.18 重点回顾
第7章 HyperLogLog
7.1 HyperLogLog简介
7.2 PFADD:对集合元素进行计数
7.3 PFCOUNT:返回集合的近似基数
示例:优化唯一计数器
示例:检测重复信息
7.4 PFMERGE:计算多个HyperLogLog的并集
示例:实现每周/月度/年度计数器
7.5 重点回顾
第8章 位图
8.1 SETBIT:设置二进制位的值
8.2 GETBIT:获取二进制位的值
8.3 BITCOUNT:统计被设置的二进制位数量
示例:用户行为记录器
8.4 BITPOS:查找第一个指定的二进制位值
8.5 BITOP:执行二进制位运算
示例:0-1矩阵
8.6 BITFIELD:在位图中存储整数值
示例:紧凑计数器
8.7 使用字符串命令对位图进行操作
8.8 重点回顾
第9章 地理坐标
9.1 GEOADD:存储坐标
9.2 GEOPOS:获取指定位置的坐标
9.3 GEODIST:计算两个位置之间的直线距离
示例:具有基本功能的用户地理位置程序
9.4 GEORADIUS:查找指定坐标半径范围内的其他位置
9.5 GEORADIUSBYMEMBER:查找指定位置半径范围内的其他位置
示例:查找附近用户
9.6 GEOHASH:获取指定位置的Geohash值
9.7 使用有序集合命令操作GEO数据
9.8 重点回顾
第10章 流
10.1 XADD:追加新元素到流的末尾
10.2 XTRIM:对流进行修剪
10.3 XDEL:移除指定元素
10.4 XLEN:获取流包含的元素数量
10.5 XRANGE、XREVRANGE:访问流中元素
10.6 XREAD:以阻塞或非阻塞方式获取流元素
示例:消息队列
10.7 消费者组
10.8 XGROUP:管理消费者组
10.9 XREADGROUP:读取消费者组中的消息
10.10 XPENDING:显示待处理消息的相关信息
10.11 XACK:将消息标记为“已处理”
10.12 XCLAIM:转移消息的归属权
10.13 XINFO:查看流和消费者组的相关信息
示例:为消息队列提供消费者组功能
10.14 重点回顾
02第二部分 附加功能
第11章 数据库
11.1 SELECT:切换至指定的数据库
11.2 KEYS:获取所有与给定匹配符相匹配的键
11.3 SCAN:以渐进方式迭代数据库中的键
示例:构建数据库迭代器
11.4 RANDOMKEY:随机返回一个键
11.5 SORT:对键的值进行排序
11.6 EXISTS:检查给定键是否存在
11.7 DBSIZE:获取数据库包含的键值对数量
11.8 TYPE:查看键的类型
示例:数据库取样程序
11.9 RENAME、RENAMENX:修改键名
11.10 MOVE:将给定的键移动到另一个数据库
11.11 DEL:移除指定的键
11.12 UNLINK:以异步方式移除指定的键
11.13 FLUSHDB:清空当前数据库
11.14 FLUSHALL:清空所有数据库
11.15 SWAPDB:互换数据库
示例:使用SWAPDB命令实行在线替换数据库
11.16 重点回顾
第12章 自动过期
12.1 EXPIRE、PEXPIRE:设置生存时间
示例:带有自动移除特性的缓存程序
12.2 SET命令的EX选项和PX选项
示例:带有自动释放特性的锁
12.3 EXPIREAT、PEXPIREAT:设置过期时间
12.4 TTL、PTTL:获取键的剩余生存时间
示例:自动过期的登录会话
示例:自动淘汰冷门数据
12.5 重点回顾
第13章 流水线与事务
13.1 流水线
示例:使用流水线优化随机键创建程序
13.2 事务
示例:实现mlpop()函数
13.3 带有乐观锁的事务
示例:带有身份验证功能的锁
示例:带有身份验证功能的计数信号量
13.4 重点回顾
第14章 Lua脚本
14.1 EVAL:执行脚本
示例:使用脚本重新实现带有身份验证功能的锁
示例:实现LPOPRPUSH命令
14.2 SCRIPT LOAD和EVALSHA:缓存并执行脚本
14.3 脚本管理
14.4 内置函数库
14.5 脚本调试
14.6 重点回顾
第15章 持久化
15.1 RDB持久化
15.2 AOF持久化
15.3 RDB-AOF混合持久化
15.4 同时使用RDB持久化和AOF持久化
15.5 无持久化
15.6 SHUTDOWN:关闭服务器
15.7 重点回顾
第16章 发布与订阅
16.1 PUBLISH:向频道发送消息
16.2 SUBSCRIBE:订阅频道
16.3 UNSUBSCRIBE:退订频道
16.4 PSUBSCRIBE:订阅模式
16.5 PUNSUBSCRIBE:退订模式
16.6 PUBSUB:查看发布与订阅的相关信息
示例:广播系统
16.7 重点回顾
第17章 模块
17.1 模块的管理
17.2 ReJSON模块
17.3 RediSQL模块
17.4 RediSearch模块
17.5 重点回顾
03第三部分 多机功能
第18章 复制
18.1 REPLICAOF:将服务器设置为从服务器
18.2 ROLE:查看服务器的角色
18.3 数据同步
18.4 无须硬盘的复制
18.5 降低数据不一致情况出现的概率
18.6 可写的从服务器
示例:使用从服务器处理复杂计算操作
18.7 脚本复制
18.8 重点回顾
第19章 Sentinel
19.1 启动Sentinel
19.2 Sentinel网络
19.3 Sentinel管理命令
19.4 在线配置Sentinel
示例:使用redis-py管理Sentinel
19.5 重点回顾
第20章 集群
20.1 基本特性
20.2 搭建集群
示例:使用客户端连接集群
20.3 散列标签
20.4 打开/关闭从节点的读命令执行权限
20.5 集群管理工具redis-cli
20.6 集群管理命令
20.7 槽管理命令
20.8 重点回顾
附录A Redis安装方法
A1.免安装试运行
A2.在macOS上安装
A3.在Linux上安装
A4.在Windows上安装
附录B redis-py安装方法
附录C Redis命令索引表
是否关闭自动购买?
关闭后,阅读到本书未购买章节均需要手动购买确认。
取消
关闭
暂无笔记
本地导入书籍的 AI 翻译功能
仅支持付费会员使用
微信扫码开通付费会员
一键翻译全文