Redis系列第二篇:数据类型

一、Redis数据类型

下图展示了Redis的五种数据类型及其介绍。


二、各种数据类型的操作

1. string 类型
  • 使用 set 和 get 命令对 string 类型进行设置和获取。

如果出现中文乱码,连接客户端代码改为:redis-cli --raw -h 127.0.0.1 -p 7200

  • value 为 int 的加减运算

incr key 对当前键的值进行自增操作
decrby key number 对当前键的值进行减法运算,第三个参数为要减去的数


2. list 类型
  • 先进先出,最基本的操作为 push、pop 命令

从左边压入元素,从右边弹出元素:


  • list 类型中的元素可以重复

llen key 返回当前列表中元素的个数,即为列表长度。下图是进行了4次 lpush 操作,压入的是两个相同的值。


3. set 类型
  • set 类型中元素是无序的,而且不能重复

sadd key value (往 set 中插入元素)
scard key (查看集合中元素的个数)
下图对 set1 进行了三次添加操作,其中两个元素重复了,所以集合 set1 中元素的个数为2


  • 查找某一元素是否在集合中

sismember 集合名 元素 (判断元素是否在该集合中)
srem 集合名 元素 (从该集合中删除该元素)
下图中,先判断 5 是否在 set1 中,之后删除5,再次判断,返回0。


4. hash 类型

hash类型也称为散列类型,用户可以将多个键值对存储到一个Redis键(key)中。


  • 对键值对操作

hset hash1 key1 value (往 hsah1 中 添加一个键值对)
hget hash1 key1 (获取hash1 中key1 的值)
hlen hash1 (查看hash1中元素的个数)
下图中,往hash1中添加了两个 20,但是key不一样,所以hash1中元素的个数为3。



接着,将hash1中key3的值改为 30:



hmget hash1 key1 ... keyn (一次性获取hash1中多个键的元素)
5. zset(sort set)类型
  • 有序分数集合,value 必须是唯一的,score 可以相同。如果两个元素 score 相同,排序则按照 value 的字典顺序排

zadd zset1 5.5 value1 //增加一个分数为5.5,值为value1的映射到 zset1
zcard zset1 //查看 zset1 中元素的个数

zrange zset1 0 2 withscores (将 zset1 中的元素从 0~2 排序并打印出分数)
zrank zset1 value2 (查看 value2 在 zset1 中的排名)

将value 的score 修改为5.5 (和 value1 的score相同),再次排序。可以看到value3 排到了第二名,这是因为 value3 的字典顺序比 value1 靠后。

本篇主要总结了Redis的五种数据类型及其基本操作,至于应用场景,会接着在这里更新。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容