Redis
简介
源码安装
数据结构
事务
持久化
主从同步
哨兵模式 Sentinel
本文档使用 MrDoc 发布
-
+
首页
数据结构
# 字符串 String **普通键值** 设置键值 ```asp set name done ``` 输出键值 ```asp get name ``` 删除键值 ```asp del name ``` 判断键值是否存在(0:空、1:存在) ```asp exists name ``` 查看所有键 ```asp keys * ``` 查看已me结尾的键 ```asp keys *me ``` 清空所有键值 ```asp flushall ``` **中文键值** 设置中文值 ```asp set name 呵呵 ``` 默认会以二进制的形式输出 ```asp get name ``` ```asp "\xe5\x91\xb5\xe5\x91\xb5" ``` 退出终端 ```asp quit ``` 进入终端加 --raw 已原始形式显示内容 ```asp redis-cli --raw ``` **过期时间键值对** 查看过期时间(-1:永不过期,-2:过期) ```asp ttl name ``` 设置name的ttl为10s ```asp expire name 10 ``` 同时设置name的ttl和键值 ```asp setex name 5 done ``` 当键不存在时才设置键的值,键存在不做任何动作 ```asp setnx name hehe ``` # 列表 List(元素不唯一) ![](/media/202405/2024-05-28_171627_8954450.9754741777435502.png) **lpush** 设置一个列表添加元素abcd(列表从左到右添加元素) ```asp lpush list a b c d ``` 输出列表的内容倒序(0:第1个元素,-1:最后1个元素) ```asp lrange list 0 -1 ``` **rpush** 设置一个列表添加元素abcd(列表从尾部添加元素) ```asp rpush list a b c d ``` 输出列表的内容正序(0:第1个元素,-1:最后1个元素) ```asp lrange list1 0 -1 ``` **rpop** 删除第0个元素 ```asp rpop list ``` 删除2个元素 ```asp rpop list 2 ``` **lpop** 删除最后一个元素 ```asp lpop list ``` 删除2个元素 ```asp lpop list 2 ``` 查看列表长度 ```asp llen list ``` 删除1-3之外的所有元素 ```asp ltrim list 1 3 ``` # 无序集合 Set (元素唯一) 设置一个集合list3 ```asp sadd list3 a b c d ``` 删除集合的元素 ```asp srem list3 d ``` 查看集合元素 ```asp smembers list3 ``` 判断某个元素是否再集合中(0:不在、1:在) ```asp sismember list3 a ``` # 有序集合 SortedSet 创建集合添加3个元素 ```asp zadd list 100 清华 200 北大 300 哈佛 ``` 查看集合的元素 ```asp zrange list 0 -1 withscores ``` 查看单个元素的值 ```asp zscore list 哈佛 ``` 查看元素排名 ```asp zrank list 哈佛 ``` 查看元素排名(取反) ```asp zrevrank list 哈佛 ``` # 哈希 Hash 创建一个键值对的集合 ```asp hset people name done age 18 ``` 查看单个键值对 ```asp hget people name ``` 查看所有键值对 ```asp hgetall people ``` 删除键值对 ```asp hdel people age ``` 判断某个键值对是否存在 ```asp hexists people age ``` 查看键值对中的所有键 ```asp hkeys people ``` # 发布订阅模式 订阅一个频道book(订阅终端可以有多个) ```asp subscribe book ``` 在book频道发布一个消息(所有订阅终端都会收到redis消息) ```asp publish book redis ``` # 消息队列 Stream 添加一条消息book,*自动生成一个消息ID,课程是redis ```asp xadd book * course redis ``` 查看消息的数量 ```asp xlen book ``` 查看所有消息的内容 -+代表所有 ```asp xrange book - + ``` 删除一个消息 ```asp xdel book 1716972568262 ``` 删除消息,maxlen 0 代表删除所有消息 ```asp xtrim book maxlen 0 ``` 添加一个消息队列,手动指定消息ID, ```asp xadd books 1-0 course redis ``` count2表示一次读取2条消息,block1000表示没有消息就阻塞1秒,stream后加上队列名称,0表示从头开始读取 ```asp xread count 2 block 1000 streams books 0 ``` # 地理空间 Geospatial 添加一个北京经纬度 ```asp geoadd city 116.405285 39.904989 beijing ``` 可以一次性添加多个 ```asp geoadd city 121.472644 31.231706 shanghai 114.085947 22.547 shenzhen ``` 获取单个城市经纬度 ```asp geopos city beijing ``` 计算2个城市之间的距离,KM是单位 ```asp geodist city beijing shanghai KM ``` 查找以上海为中心三百米以内的城市 ```asp geosearch city frommember shanghai byradius 300 KM ``` # HyperLogLog 基数统计算法 添加1个统计课程的元素,添加3个课程 ```asp pfadd course git docker redis ``` 查看基数 ```asp pfcount course ``` 再添加1个统计课程的元素,添加3个课程 ```asp pfadd course2 python redis git ``` 合并课程1和2到result,查看基数重复的将不计入 ```asp pfmerge result course course2 ``` # 位图 Bitmap ```asp ``` # 位域 Bitfield ```asp ```
done
2024年5月30日 14:44
转发文档
收藏文档
上一篇
下一篇
手机扫码
复制链接
手机扫一扫转发分享
复制链接
Markdown文件
分享
链接
类型
密码
更新密码