目录
List
BLPOP key key 1 timeout
BRPOP key key1 timeout
BRPOPLPUSH source destination timeout
其他命令
Set
SADD key val
SMEMBERS key
SCARD key
Sdiff key key1..
SDIFFSTORE destination key1 key2..
SINTER key1 key2..
其他命令
sorted set
ZADD key score val score1 val1..
ZCARD key
ZINCRBY key increment member
ZSCORE key member
ZREVRANK key member
Zremrangebylex key min max
其他命令
List
Redis List是简单字符串列表,你可以添加元素到列表的头部(左)或者尾部(右),一个List最多可包含
个元素。
管理员权限打开cmd窗口,因为之前把redis安装路径配置到环境变量里,所以可以直接使用命令开始redis服务。
如何配置环境变量:
打开文件管理器,打开此电脑,右键点击属性
点击高级系统设置,点击环境变量,在path里放入redis的安装地址。
一步一步点击确定后退出。
开启服务
redis-server.exe redis.windows.conf
进入客户端
redis-cli.exe -h 127.0.0.1 -p 6379
使用LPUSH在列表中放入元素
创建一个databse 的List放入三个元素,类似于队列的push
在Redis DesktopManager 查看:
使用命令查看:
LRANGE
查看0-3 4个元素,因为没有四个只有三个所以全部显示。
BLPOP key key 1 timeout
移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
而且最后加入的放在最前面,类似于栈
先删除的是最后加入的sqlite
BRPOP key key1 timeout
移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
移除的是最先放入的redis,在其列表最后。
BRPOPLPUSH source destination timeout
从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它; 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
List 为空会被自动删去。
其他命令
LINDEX key index 通过索引获取列表中的元素;
LINSERT key BEFORE|AFTER pivot value 在列表的元素前或者后插入元素;
LLEN key 获取列表长度;
LPOP key移出并获取列表的第一个元素;
RPUSHX key value为已存在的列表添加值;
RPUSH key val1 val2..在列表中添加一个或多个值;
LREM key count value 移除列表元素;
LTRIM key start stop 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除,类似与Java String类的substring方法。
Set
Set 是 String 类型的无序集合。集合成员是唯一的,集合中不能出现重复的数据。Redis 中集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是 O(1)。 集合中最大的数目为
。
SADD key val
向集合里插入元素 集合名为"电锯人":
可以一次性加入多个val。
因为插入的是中文key,和中文val所以显示乱码。获取时会显示正常,前提是打开客户端时后加上 --raw。
SMEMBERS key
查看集合元素
SCARD key
获取成员数量
Sdiff key key1..
返回第一个集合与其他集合之间的不同
比较次序不一样,结果也不一样。
SDIFFSTORE destination key1 key2..
返回给定所有集合的差集并存储在 destination 中
不同顺序差集不同。
SINTER key1 key2..
返回给定所有集合的交集
其他命令
SMOVE source destination member 将 member 元素从 source 集合移动到 destination 集合;
SPOP key移除并返回集合中的一个随机元素;
SRANDMEMBER key [count]返回集合中一个或多个随机数;
SREM key member1 member2..移除集合中一个或多个成员;
SUNION key1 key2..返回所有给定集合的并集;
SUNIONSTORE destination key1 key2..所有给定集合的并集存储在 destination 集合中;
SSCAN key cursor [MATCH pattern] [COUNT count] 迭代集合中的元素.
大多数命令都和List相同只需修改一下前缀L/S 就可以。
sorted set
有序集合和集合一样也是 string 类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个 double 类型的分数。redis 正是通过分数来为集合中的成员进行从小到大的排序。有序集合的成员是唯一的,但分数(score)却可以重复。
ZADD key score val score1 val1..
向有序集合内添加元素和分数,按分数来排序:
添加四个元素 ,按分数排序。
使用ZRANGE查看区间范围内的元素。
ZCARD key
有序集合成员数量:
ZINCRBY key increment member
有序集合中对指定成员的分数加上增量 increment
把a的分数增到6。
通过 Zrangebyscore查看区间分数内集合。
其中第一行命令表示分数大于1小于等于5的集合,
第二行命令表示分数大于5小于10的集合。
ZSCORE key member
返回有序集中,成员的分数值
ZREVRANK key member
返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序
a最大,其值为6排为0,d其次,其值为4,排为1。
Zremrangebylex key min max
移除有序集合中给定的字典区间的所有成员
其他命令
ZUNIONSTORE destination numkeys key key1 ..计算给定的一个或多个有序集的并集,并存储在新的 key 中;
ZSCAN key cursor [MATCH pattern] [COUNT count]迭代有序集合中的元素(包括元素成员和元素分值);
ZREM key val val1..移除有序集合中的一个或多个成员。