Redis学习(6)-常用命令
List命令
value值为LinkedList类型。
使用环境:
1,做大数据集合的增删。
2,任务队列。用户任务队列
链表查看
lrange key start end:获取链表从start到end的元素值
start,end从0开始计数,也可为负数,若为-1则表示链表尾部的元素,-2表示倒数第二个,依次类推。
例如:list1 【0,1,2,3,4,5】,查到从0到第三个值
lrange list1 0 3
两端添加
lpush key value1,value2,value3...:在key所关联list头部插入所有的value。
例如:lpush list1 a b c d
rpush key value1,value2,value3...:在该list尾部添加元素
两端删除(弹出)
lpop key:从头部弹出元素,删除头部第一个元素。
rpop key:从尾部弹出元素。
扩展命令
llen key:返回指定key关联链表中元素的个数。
删除某种元素:效率极其低下
lrem key count value:删除count个值为value的元素。如果count大于0,从头向尾遍历并删除count个值为value的元素。
例如:删除链表中所有的a元素。(注意:如果删除所有的,则count指定为0)
lrem list3 a
从头删除2个字母:"C"
lrem mylist 2 C
如果从尾部到头删除两个字母C,则:
lrem mylist -2 C
通过索引替换元素:(效率不高)
lset key index value:设置链表中的index的脚标的元素值,0代表头部,-1代表尾部。
在索引前/后插入元素:(效率不高)
linsert key before/after pivot value:在pivot元素前/后插入value这个元素。
例如:
linsert list1 before aaaa cccc
rpoplpush resource destination:将链表中尾部元素弹出并插入到头部【循环操作】
例如:任务队列:要求把ist1中的d弹出,把元素插入到list2的头部
rpoplpush list1 list2
循环链表:把list1的元素从头部插入到尾部,循环操作。
rpoplpush list1 list1
Set命令
Redis操作中,涉及到两个大数据集合的并集,交集,差集运算,一般使用set。
添加
sadd key value1 value2 value3..
例如:
sadd set1 a b c d
取值
获取set中所有成员
smembers key
例如:smembers set1
1,判断参数中指定成员是否在该set中,1表示存在,0表示不存在或者本身该key不存在。
sismember key member
例如:
sismember set1 b
场景:会员有一个专门的集合,打开视频的适合,判断用户是在会员集合里面,如果不在就是普通用户。
删除
删除set中指定成员
srem key member1 member2 member3 ...
例如:从集合set1中删除b,d
srem set1 b d
集合运算
差集运算
返回key1和key2相差的成员,而且与key的顺序有关,即返回差集
sdiff key1 key2...
例如:set1 a b c d
set2 b e
求哪些属于set1,但是不属于set2。
要求属于set1的,就需要把set1放在前面:命令如下:
sdiff set1 set2
交集运算
返回交集
sinter key1 key2 key3....
并集运算
返回并集
sunion key1 key2 key3 ...
扩展命令
scard key:获取set中成员的数量
例如:scard set1 结果:4
场景:查看网站会员数量。
srandmember key:随机返回set中一个成员
例如:srandmember set1
sdiffstore distination key1 key2 key3 . . .:将key1,key2,key3相差的成员存储到distination上
sinterstore disination key1 key2 key3 . . :将返回的交集存储到distination上
sunionstore distination key1 key2 key3 . . .:将返回的并集存储到distination上
有序Set
集合里面数据有序,并且默认从小到大排序,不重复。并且每个元素都需要手动赋予一个分数。
例如:一个集合里面需要存:小明,小红,小张:手动辅助:400 小明,200 小张,350 小红。
保存之后:集合中存的顺序是:小张,小红,小明。
集合倒序:小明 小红 小张
有序Set集合,专门用来做排行榜。
赋值:
zadd key score member score2 member2 score3 member3。。。
例子:
zadd set1 500 xiaozhang 300 xiaohong 100 xiaoqiang
因为set中默认按照从小到大排序:则set中的顺序是:100 xiaoqiang 300 xiaohong 500 xiaozhang
取值:
zcore key member:返回指定成员的分数
例如:
zcore set1 xiaoqiang:结果:100
zcard key:返回集合中成员数量
删除:
zrem key member1 member2 member3:删除集合中指定成员
例如:
zrem set1 xiaoqiang xiaohong
范围查询:
zrange key start end [withscores] :获取集合中脚标为star到end的成员,[withscores]参数标明返回的成员包含其分数(由小到大)。
zrevrange key start end [withscores] :获取集合中脚标为star到end的成员,[withscores]参数标明返回的成员包含其分数(由大到小)。
例如:从set1集合查询所有元素:
zrange set1 0 -1
要使得返回的结果带着分数:
zrange set1 0 -1 [withscores]
结果:

扩展命令:
zremrangebyrank key start stop;按照排名范围删除元素
例如把第一名到第二名删除:
zremrangebyrank set1 0 1
zremrangbyscore key min max:按照分数排名范围删除元素
例如:把200到300分范围的元素删除:
zremrangebyscore set1 200 300
zrangebyscore key min max[withscores] [limit offset count]:
返回分数在[min,max]之间的成员并按照分数从低到高排序,withscores,显示分数。limit offset count:offset表明从脚标为offset的元素
开始并返回count个成员。
例如:返回500,7500范围内的,其中从第一名开始的两位成员,并且显示分数。

zincreby key increment member:设置指定成员的增加的分数,返回值是更改后的分数
例如:给小张分数加500

zcount key min ax:获取分数 min max之间的成员个数。
zrank key member:返回成员在集合中的排名。(索引从小到大)。
zrevrank key member:返回成员在集合中的排名。(索引从大到小)。
Redis学习(6)-常用命令的更多相关文章
- Redis学习笔记--常用命令
以下为本人学习Redis的备忘录,记录了大部分常用命令 1.客户端连接redis服务端: ===启动Redis服务端 redis-server /yourpath/redis.conf ===启动Re ...
- Redis 学习之常用命令及安全机制
该文使用centos6.5 64位 redis3.2.8 一.redis常用命令 键值常用命令: 1. keys 返回满足pattern的所有key. 127.0.0.1:6379> ke ...
- Redis学习笔记~常用命令总结
回到目录 客户端redis-cli常用的命令总结 连接到服务器 redis-cli -h 127.0.0.1 -p 6379 --连接指定的redis服务器 发布/订阅, pub/sub模式运行在re ...
- Redis学习笔记-常用命令篇(Centos7)
redis提供了丰富的命令,这些命令可以在linux终端使用.在各类语言中,这些命令都有对应的方法. 一.键值相关 1.keys 返回满足给定pattern的所有key 127.0.0.1:6379& ...
- redis学习-string常用命令
keys * :查询所有的key值 set:为指定键设置对应的值 get:获取指定键的值 mset:一次传入多个键值对 mget:一次获取多个键的值 del:删除指定键 strlen:获取指定键值的长 ...
- redis 介绍和常用命令
redis 介绍和常用命令 redis简介 Redis 是一款开源的,基于 BSD 许可的,高级键值 (key-value) 缓存 (cache) 和存储 (store) 系统.由于 Redis 的键 ...
- Redis数据类型和常用命令
Redis相较于其它的数据库虽然简单,但是要熟记所有命令的用法也并非易事.一个简单的技巧是通过要操作的数据类型来将这些命令进行结构化. 数据类型和对应命令 所有存储于redis中的数据都对应于一个键值 ...
- 一张图学习vim常用命令
一张图学习vim常用命令
- goland学习-go常用命令使用
goland学习-go常用命令使用 1.跨平台编译:env GOOS=linux GOARCH=amd64 go build 2.获取go第三方包:go get -u github.com/go-sq ...
- 记录redis安装及常用命令
Redis安装及常用命令 一.安装 1.下载,解压,进入redis解压目录,make. make PREFIX=目录/redis install :安装到指定目录文件名为redis. 2.将解压目录里 ...
随机推荐
- 【原】移动web资源整理(安卓、ios移动端兼容性问题归整)
meta基础知识 H5页面窗口自动调整到设备宽度,并禁止用户缩放页面 <meta name="viewport" content="width=device-wi ...
- 报错:具有键"..."的ViewData项属于类型"...",但它必须属于类型"IEnumerable<SelectListItem>"
报错:具有键"..."的ViewData项属于类型"...",但它必须属于类型"IEnumerable<SelectListItem>&q ...
- [深入浅出iOS库]之图形库CorePlot
一,前言 Core Plot和s7Graph都是可在iOS平台下使用的开源矢量图形库,s7Graph功能相对比较简单一些,在此就不介绍了.Core Plot 功能强大很多,我们可以利用它很方便地画出复 ...
- 《疯狂iOS讲义(下)——iPhone/iPad高级应用与手游开发(含CD光盘1张)》
<疯狂iOS讲义(下)——iPhone/iPad高级应用与手游开发(含CD光盘1张)> 基本信息 作者: 李刚 肖文吉 出版社:电子工业出版社 ISBN:9787121224379 ...
- mysql访问权限GRANT ALL PRIVILEGES ON,访问权限表
开启远程连接:2, 修改 Mysql-Server 用户配置mysql> USE mysql; -- 切换到 mysql DBDatabase changedmysql> SELECT U ...
- Endianess(字节次序)简介
1. 基础 在解释Endianess前,需要先明白几个基础定义 1) 数据的高位与低位是什么 以1001001为例,则从左边算起是 高位 -> 低位, 简而言之就是左边是高位,右边是低位 而内存 ...
- 用Java操纵HBase数据库(新建表,插入,删除,查找)
java代码如下: package db.insert; /* * 创建一个students表,并进行相关操作 */ import java.io.IOException; import java.i ...
- Flume NG 配置详解(转)
原文链接:[转]Flume NG 配置详解 (说明,名词对应解释 源-Source,接收器-Sink,通道-Channel) 配置 设置代理 Flume代理配置存储在本地配置文件.这是一个文本文件格式 ...
- window安装Scrapy———解决报错问题
系统是WIN10 64位Python是3.5.2今天安装pip install Scrapy 来安装发现报错Microsoft Visual C++ 14.0 is required 检查发现电脑中 ...
- VS2010调试技巧
最近合作开发,代码已经完成了,但是一调试,错误一大堆,由于是合作开发,不确定是哪层的错误,得一步步得走,很是费时费力,平时调试的技巧用的不多,现在集中调试,结果有些手忙脚乱,效率也很低,所以在网上找了 ...