Redis中5大数据类型的操作命令

String

字符串类型数据(整型数据、JSON串等)


String命令

增加

SET KEY_NAME VALUE //同key值修改值

SETNX key value //同key值不修改,是解决分布式锁的方式之一

MSET key value [key value] //设置多个键值

获取

GET KEY_NAME

MGET key [key] //获取多个键值

数值自增减

INCR KEY_Nname (INCRBY KEY_Name 增量值)

DECR KEY_NAME (或DECRBY KEY_NAME 减值)

获取并修改

GETSET KEY_NAME VALUE

String长度

STRLEN key


应用场景

  1. String通常用来保存单个字符串或JSON字符串数据
  2. 因为String是二进制安全的,所以完全可以将图片文件内容作为字符串来存储
  3. 计数器,INCR等指令本身就有原子性操作的特性。



Hash

一个JavaBean。是一个String类型的field和value的映射表。hash特别适合用于存储对象。Redis中每个hash可以存储232 - 1键值对(40多亿)。可以看做是一个KEY和VALUE的Map容器,该类型非常适合于存储减值对象信息。该类型的数据仅占有很小的磁盘空间(比JSON还小)


Hash命令

增加/修改

HMSET key field value [field value]

查询

HMGET key field [field]

HGETALL key

查看字段数

HLEN key

删除

HDEL key field [field]

子字段自增

HINCRBY key field increment

是否存在某字段

HEXISTS key field


删除时

删除各个field redis中保证无value key自动消失
使用del命令



List

底层是一个双链表,插入时向链表左右两边插入,因此插入的复杂度为O(1),查找时越靠近链表两侧的值越容易查询到。


List命令

添加

LPUSH key value [value]

RPUSH key value [value]

查询

LRANGE key start end(end = -1 代表读到最后一个元素)

LINDEX key index(获取索引元素值)

删除指定值

LREM key count value(
count > 0 从左边删除count个,
count < 0 从右边删除|counge|个,
ocunt = 0 删除所有值为value的值)

弹出元素

LPOP key
RPOP key

获取列表长度

LLEN key

修改

LSET key index value

只保留列表指定片段

LTRIM key start stop

向列表中插入元素

LINSERT key BEFORE|AFTER pivot value(从左到右找值Wiepivot的元素,在其前|后插入指定value,找不到不差入,返回-1)

将元素从一个列表中转到另一个列表中

RPOPLPUSH source destination(原表右出,新表左进)



Set

无序,不重复,redis还提供了多个集合之间的交集、并集、差集的运算


Set命令

添加

SADD key member [member]

删除

SREM key member [member]

查询

SMEMBERS key

判断是否是集合中的元素

SISMENBER key member

获取Set中元素个数

SCARD key

从集合中弹出一个元素

SPOP key(随机弹出)


集合的运算

差集

SDIFF key [key] (SDIFF A B == A-B)

并集

SUNION key [key]

交集

SINTER key [key]



SortedSet zset

有序的Sort


命令

添加

ZADD key score member [score member] (会替换自存在的member对应的score)

删除

ZREM key member [member]

ZREMRANGEBYRANK key start stop (按照排名范围删除, 0~-1删除所有的)

ZREMRANGEBYSCORE key min max (按照分数范围删除)

查找

ZSCORE key member //查询指定分数的key

ZRANGE key start stop [WITHSCORES] //查询指定范围内的key[和分数]

ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count] (查询分数在区间内的key,包含min和max;limit:分页,offset到count)

增加分数

ZINCRBY key increment member

获取元素数量

ZCARD key

获取指定分数内元素个数

ZCOUNT key min max

排序

ZRANK key member (从小到大)

ZREVRANK key member (从大到小)



Keys命令


设置key存活时间

EXPIRE key seconds //以秒为单位设置存活时间

TTL key //查看key的存活时间(-1 表示未设置时间 存活时间为永久)

PERSIST key //移除给定 key 的生存时间

PEXPIRE key milliseconds //以毫秒为单位设置存活时间


其他命令

keys pattern //满足正则式pattern的所有key

exists key //判断key是否存在

del key //删除key

rename key newkey //重命名key

type key //获取key的类型

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值