Redis基本数据结构及操作

Redis基本数据结构及操作

redis中共有五种数据结构,下面来一一展示如何操作他们

数据结构 结构中存储的值 可以进行的操作
string 可以是字符串、整数、浮点数 对整个字符串或部分字符串进行操作

字符串(String)

string存储的可以是字符串、整数、浮点数.是键值对结构

有如下命令:

命令 操作
get key 获取给定键的值,如果是空返回(nil)
set key value 设置要存储的键值
del key [key...] 删除指定的键值,可同时删除多个,返回删除的数量
incr key 将key对应的值加1
decr key 将key对应的值减1
incrby key num 将key对应的值加上num
decrby key num 将key对应的值减去num
incrbyfloat key num 将key对应的值加上一个浮点数

Redis基本数据结构及操作


列表(List)

列表可以有序的存储多个字符串,列表的操作如下:

命令 操作
lpush/rpush listname value [value...] 在列表的左/右端插入元素(可以插入多个值),返回插入的个数
lpop/rpop listname 在列表的左/右端弹出元素,返回弹出元素的值
lrange listname begin end 从左到右列出从begin开始到end的所有元素,lrange key 0 -1可以获取列表的所有值
lindex listname index 获取列表的index位置上的值
del listname 删除列表的所有值

Redis基本数据结构及操作


集合(Set)

集合与列表都可以存储多个字符串,主要的区别是:

  • 列表可以存储多个相同的字符串,而集合不能存储相同的字符串
  • 列表是有序的,集合是无序的
命令 操作
sadd setname value... 将值添加到指定集合,返回成功插入的数量
smembers setname 查看指定集合的所有元素
sismember setname value 查看指定元素是否存在于集合中,返回1代表存在,0代表不存在
srem setname value 移除集合中指定的元素

散列(Hash)

hash结构可以存放多个键值对结构

命令 操作
hset hashname key value 向hash内添加键值对,返回添加的数量
hget hashname key 从hash中获取指定键的值
hgetall hashname 获取hash所有的值
hdel hashname key 从hash中删除指定键值

Redis基本数据结构及操作


有序集合(ZSet)

zset有序集合和散列一样存储的是键值对,不同的是有序集合的键被称为成员(member),有序集合的值必须是浮点数,被称为分值,用来排序使用,类似于优先级的概念,升序排列

命令 操作
zadd zsetname value key 向zset中增加数据,value为分值,key为成员
zrange zsetname begin end 查找从begin到end的数据(zrange zsetname 0 -1表示展示zset的所有数据)
zrangebyscore zsetname s1 s2 以分值为条件查询在s1到s2的元素
zrem zsetname key 移除zset里的成员

Redis基本数据结构及操作

可在 zrangezrangebyscore 命令的后面加上 withscores 关键字,可以将分值展示出来

Redis基本数据结构及操作