redis基础命令使用总结

redis存储是键值对类型

 

key是字符串

value可以是

字符串、hash、list、set、有序set

 

常用命令:

 

设置key的value值:

set key value

 

获取value值:

get key

 

先获取value值再赋值:

getset key value

 

删除某个key:

del key

 

追加:

append key value

 

自增(仅用于字符串是数字的):

incr key

自减:

decr key

 

hash的赋值:

hset key field1 value1 给hash单个属性赋值

hmset key field1 value1 field2 value2 给hash多个属性赋值

 

hash获取值:

hget key field1 获取hash单个属性值

hmget key field1 field2 获取hash多个属性值

hgetall key 获取所有属性值

 

hash删除值

hdel key field [field1...] 删除一个或者多个field的值

del key 删除整个hash

 

给hash中数值类型的属性加上指定数

hincrby key field 指定数 其中field的value值需要是数字

 

hash中判断是否在存在某个属性

hexists key field 存在返回1不存在返回0

 

hash获取属性个数

hlen key

 

hash获取所有属性名

hkeys key

 

hash获取所有value值

hvals key

 

list赋值:

lpush key value 将value加到list最左端

rpush key value 将value加到list最右端

 

在refvalue的前/后插入值

where(只有两个值before/after ),refvalue是list中已有的值 value是新加入的值:

linsert key where refvalue value

 

获取指定下标的属性值

lindex key index index下标值

 

给指定位置重新赋值

lset key index newValue index是指定的被替换元素的位置

 

移除指定值(一个或多个)

lrem key num value 移除值为value的元素num个,num为正值时,从左到右,num为负值,从右到左。

 

移除左侧第一个元素并返回

lpop key

移除右侧第一个元素并返回

rpop key

 

截取

ltrim key start end 截取下标从start到end的元素

 

获取分片数据

lrange key start end 获取下标从start到end的元素(并不会截取生成新的数组)

 

弹出第一个非空列表的第index个元素

blpop key key1 .. index timeout=(可以加响应时间)

 

弹出src列表的最右侧元素加到dst列表的最左侧

rpoplpush src dst

brpoplpush src dst timeout=time (响应时间)

 

 

set赋值=====

sadd key value1 value2 ....

移除set中的某些值

srem key value1 value2 .....

获取set中的全部元素

smembers key

判断set是否有某元素

sismember key value

随机返回set中的一个成员

srandmember key

获取set成员数量

scard key

 

set作集合运算

属于a不属于b (差集)

sdiff a b

属于b不属于a (差集)

sdiff b a

属于a且属于b (交集)

sinter a b

属于a或者属于b (并集)

sunion a b

 

将返回的差集存到c上

sdiffstore c a b

将返回的交集存到c上

sinterstore c a b

将返回的并集存到c上

sunionstore c a b

 

有序set=============

赋值:

zadd score1 member1 score2 member2 ..... 每个成员跟一个分数

返回指定成员的分数

zscore key member

返回有序set的成员个数

zcard key

移除有序set的一个或者多个指定元素

zrem key member member1 .....

查询有序set所有元素(和分数)

zrange key 0 -1 (withscores)

查询有序set从start到end的元素(和分数) 按分数从小到大排列

zrange key start end (withscores)

查询有序set,按照score范围。(带出分数) (限制查出的个数)

zrangebyscore key min max (withscores) limit begin end

查询有序set从start到end的元素(和分数) 按分数从大到小排列

zrevrange key start end withscores

删除指定的范围(按分数排名)

zremrangebyrank key start end

删除指定的范围(按分数范围)

zremrangebyscore key min max

给某成员的分数添加num

zincrby key num member

获取分数在min和max的成员个数

zcount key min max

获取某成员在有序set中的排名(从小到大排名)

zrank key member

获取某成员在有序set中的排名(从大到小排名)

zrevrank key member

 

 

匹配查询key

keys pattern

 

匹配符号 :?表示一个字符

* 表示0或者多个字符

 

举例: keys ???? 匹配key为四个字符的数据

keys *name* 匹配key中带name的数据

 

通用:

删除指定的key

del key1 key2 ...

判断key是否存在

exists key

重新命名key

rename key newKey

设置key超时时间,默认单位是秒

expire key time

获取key的剩余超时时间,如果返回-1,则表示没有设置超时,如果是-2,则表示已经超时

ttl key

获取key的类型

type key

 

订阅和发布:

subscribe key 持续获取订阅

psubscribe key* 订阅以key开头的消息

publish key content 发布内容

 

redis默认有16个数据库,编号0 1 2 ....15

默认登录时在0号数据库

切换数据库:

select 编号

移动某个key到指定数据库

move key 编号

 

redis的事务是为了redis语句的批量执行

multi 开启一个事务,之后执行的redis语句都会加入到命令队列

exec 执行命令队列的所有命令,中间命令出错也不会影响后续命令的执行

discard 回滚命令队列里的全部命令

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值