Redis五种数据类型和常用指令

详细命令参考 http://redisdoc.com/string/set.html

通用的常用命令

ttl key #查看key的过期时间,-1表示永不过期
exists key #查看是否存在key
move key db  #将当前库的key移到db中去
expire key second #给key设置失效时间
type key #查看key数据类型

1.String字符串类型

string是redis最基本的类型,一个key对应一个value。
string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象
string类型是Redis最基本的数据类型,一个redis中字符串value最多可以是512M。

常用命令:
 set key value  #设置string值
 get key #获取值
 del key [keys] #删除值,设置key或的keys
 append  key #在value后追加值
 strlen  key #获取key的value长度
 getrange  key start end #获取key的value, 从 start 到 end 位置的字符串,类似字符串截取
 setrange  key offset value # 从 offset 开始 插入value
 setex key second value #设置key并设置失效时间second
 setnx key value #当key不存在时设置key,否则不设置
 mset/mget/msetnx  #同时设置多个key-value
 getset key value #先获取value在设置value
 
原子性操作: #value必须是整数
Incr key  #key的value加一
decr key #key的value减一
incrby  key  increment  #key的 value 加 increment 的数
decrby key  increment  #key的 value 加 increment 的数

2.List数据类型

List(列表)Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素导列表的头部(左边)或者尾部(右边)。它的底层实际是个链表。
left、right都可以插入添加;如果键不存在,创建新的链表;如果键已存在,新增内容;
如果值全移除,对应的键也就消失了。链表的操作无论是头和尾效率都极高,但假如是对中间元素进行操作,效率就很惨淡了。

 lpush key value[values] #设置值,从左边插入链表,lpush key 1 2 3,链表是3 2 1
 rpush key value[values] #设置值,从右边边插入链表,rpush key 1 2 3,链表是1 2 3
 lrange key start stop #查询包含start到stop之间的数据, 0 -1是查询全部数据
 lpop key #从链表左边取出一个value
 rpop key #从链表右边边取出一个value
 lindex key index #获取下标为index的value
 llen key #查询长度
 lrem key count value #删除列表中的count个value
 ltrim key start stop #截取start到stop的集合并赋值给key
 rpoplpush source destination #将source的底部元素移到destination的头部
 lset key index value #设置key中下标为index的值
 linsert key  before/after pivot value #在privot值的前面或者后面插入一个新的value

3.Hash数据类型

Hash(哈希)
Redis hash 是一个键值对集合。同样是key-value形式的,但是value是键值对
Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。
类似Java里面的Map<String,Object>

  hset/hmset/hsetnx key field value #设置值
  hget/hmget/hgetall key field #获取值
  hdel key fields #删除值
  hlen key #获取长度
  hexists key field #判断是否存在
  hkeys key #获取全部fidld
  hvals key #获取全部value
  hincrby/hincrbyfloat  key field incrment #增加整数或者浮点数

4.Set数据类型

Set(集合)
Redis的Set是string类型的无序集合。它是通过HashTable实现实现的。

sadd key members #设置值,members是字符串集合
smembers key #获取集合
sismember key member #判断是否有member
scard key #获取集合里的元素个数
srem key members #删除集合中的members
srandmember key count #随机返回key中的count个元素
spop key count #随机移出count个元素
smove source destination member #将source中的member移到destiation中去
sdiff keys #差集
sinter keys #交集
sunion keys #并集

5.Zset数据类型

zset(sorted set:有序集合)
Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。
不同的是每个元素都会关联一个double类型的分数。
redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。
懒得打了

发布了13 篇原创文章 · 获赞 1 · 访问量 568

猜你喜欢

转载自blog.csdn.net/weixin_38650898/article/details/104661861