Redis学习笔记二:Redis的常用操作命令

12 篇文章 0 订阅
11 篇文章 0 订阅

一、 Redis对于key的操作命令


命令 作用 备注
del key [key ...] 删除1个或多个键 不存在的key忽略掉,返回真正删除的key的数量
rename key newkey 把key改名为newkey 如果newkey已存在,则newkey的原值被覆盖
renamenx key newkey 把key改名为newkey nx-->not exists, 即, newkey不存在时,作改名动作
randomkey 返回随机key -
exists key [key ...] 返回key是否存在 存在的key的个数
type key 返回key存储的值的类型 string,link,set,order set, hash 
ttl key  查询key的生命周期 以秒返回生命周期
pttl key 查询key的生命周期 以毫秒返回生命周期
expire key seconds 设置key的生命周期 以秒为单位
pexpire key milliseconds 设置key的生命周期 毫秒为单位
persist key 把指定key置为永久有效 -
move key db 把key移动到另外一个数据库,db编号为数字 一个redis进程,打开了不止一个数据库,默认打开16个数据库,从0到15编号,如果想打开更多数据库,可以从配置文件修改
keys pattern 查找符合pattern的key

redis里,允许模糊查询key,keys * 表示查询所有的key

有3个通配符 *, ? ,[]

*: 通配任意多个字符

?: 通配单个字符

[]: 通配括号内的某1个字符


二、 Redis 关于String的操作命令


命令 作用 备注
set key value [ex seconds] [px milliseconds] [nx|xx] 设置一个key nx参数表示当key存在时不覆盖原有key,返回(nil),
xx则会覆盖原有key值,默认为xx
mset key value [key value ...] 一次性设置多个键值 mset key1 v1 key2 v2 ....
get key 获取key的值 -
mget key [key ...] 获取多个key的值 -
setrange key offset value 修改第offset偏移字节为value 只修改offset处的一个字节,如果偏移量>字符长度, 该字符自动补0x00
append key value 把value追加到key的原值上  
getrange key start end 获取字符串中start-stop范围的值 对于字符串的下标,左数从0开始,右数从-1开始
注意: 
1: start>=length, 则返回空字符串
2: stop>=length,则截取至字符结尾
3: 如果start 所处位置在stop右边, 返回空字符串
getset key newvalue 获取并返回key的旧值,设置新值 -
incr key 指定的key的值加1 1.不存在的key当成0,再incr操作    2. 范围为64有符号 3. 返回加1后的值
incrbyfloat key increment 给key增加浮点数increment 返回增加后的值
decr key   -
decrby key number   -
getbit key offset 获取值的二进制表示,对应位上的值(从左,从0编号) -
setbit key offset value 设置offset对应二进制位上的值 返回: 该位上的旧值

三、 Redis 关于link链表的操作命令


命令 作用 备注
lpush key value 把值插入到链接头部 -
rpush key value - -
lpop key 返回并删除链表头部元素 -
rpop key - -
brpop key timeout 等待弹出key的尾元素 Timeout为等待超时时间,如果timeout为0,则一直等待
blpop  key timeout 等待弹出key的头元素 同上
lrange key start  stop 返回链表中[start ,stop]中的元素 左数从0开始,右数从-1开始
lrem key count value 从key链表中删除 value值 删除count个value后结束,count>0 从表头删除,count<0 从表尾删除
ltrim key start stop 剪切key对应的链接 切[start,stop]一段,并把该段重新赋给key
lindex key index 返回index索引上的值, 如  lindex key 2
llen key 计算链接表的元素个数 -
linsert  key after|before search value 在key链表中寻找’search’,并在search值之前|之后,.插入value 注: 一旦找到一个search后,命令就结束了,因此不会插入多个value
rpoplpush source dest 把source的尾部拿出,放在dest的头部, 并返回 该单元值 -

四、 Redis 关于集合set的操作命令


命令 作用 备注
sadd key  value1 value2 往集合key中增加元素 -
srem value1 value2 删除集合中集为 value1 value2的元素 返回值: 忽略不存在的元素后,真正删除掉的元素的个数
spop key 返回并删除集合中key中1个随机元素 随机--体现了无序性
srandmember key 返回集合key中,随机的1个元素. -
sismember key  value 判断value是否在key集合中 是返回1,否返回0
smembers key 返回集中中所有的元素 -
scard key 返回集合中元素的个数 -
smove source dest value 把source中的value删除,并添加到dest集合中 -
sinterstore dest key1 key2 key3 求出key1 key2 key3 三个集合中的交集,并赋给dest -
suion key1 key2.. Keyn 求出key1 key2 keyn的并集,并返回 -
sdiff key1 key2 key3  求出key1与key2 key3的差集 -

五、 Redis 有序集合Order set的操作命令


命令 作用 备注
zadd key score1 value1 ...... 添加元素 -
zrem key value1 value2 ... 删除集合中的元素 -
zremrangebyrank key start end 按排名删除元素,删除名次在[start,end]之间的 -
zrank key member 查询member的排名 升续 0名开始
zrevrank key memeber 查询 member的排名 降续 0名开始
ZRANGE key start stop [WITHSCORES] 把集合排序后,返回名次[start,stop]的元素 默认是升续排列 
Withscores 是把score也打印出来
zrevrange key start stop 把集合降序排列,取名字[start,stop]之间的元素 -
zrangebyscore  key min max [withscores] limit offset N 集合(升续)排序后,取score在[min,max]内的元素,并跳过 offset个, 取出N个 -
zcard key 返回元素个数 -
zcount key min max 返回[min,max] 区间内元素的数量 -
zinterstore destination numkeys key1 [key2 ...] 
[WEIGHTS weight [weight ...]] 
[AGGREGATE SUM|MIN|MAX]
求key1,key2的交集,key1,key2的权重分别是 weight1,weight2 聚合方法用: sum |min|max, 聚合的结果,保存在dest集合内
答: 如果有交集, 交集元素又有socre,score怎么处理?
 Aggregate sum->score相加   , min 求最小score, max 最大score
另: 可以通过weigth设置不同key的权重, 交集时,socre * weights


六、 Redis 有哈希Hash的操作命令


命令 作用 备注
hset key field value 把key中 filed域的值设为value 如果没有field域,直接添加,如果有,则覆盖原field域的值
hmset key field1 value1 ...... 设置field1->N 个域, 对应的值是value1->N -
hget key field 返回key中field域的值 -
hmget key field1 field2 fieldN 返回key中field1 field2 fieldN域的值 -
hgetall key 返回key中,所有域与其值 -
hdel key field 删除key中 field域 -
hlen key 返回key中元素的数量 -
hexists key field 判断key中有没有field域 -
hinrby key field value 是把key中的field域的值增长整型值value -
hinrby float  key field value 是把key中的field域的值增长浮点值value -
hkeys key 返回key中所有的field -
kvals key 返回key中所有的value -


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值