redis数据库二:redis的数据结构


文章目录

  • redis数据库二:redis的数据结构
  • 一、redis的数据结构
  • 二、redis数据结构的操作
  • 2.1 字符串类型:String
  • 2.2 哈希类型:hash
  • 2.3 列表类型 :list
  • 2.4 集合类型:set
  • 2.5 有序集合类型:sorted set
  • 总结



一、redis的数据结构

redis存储的都是:key,value格式的数据,其中key都是字符串,value有5种不同的数据结构:
  1)字符串类型 string
  2) 哈希类型 hash : map格式
  3) 列表类型 list : linkedlist格式。支持重复元素
  4) 集合类型 set : 不允许重复元素
  5) 有序集合类型 sortedset:不允许重复元素,且元素有顺序


二、redis数据结构的操作

2.1 字符串类型:String

上一篇说了如何启动redis,在启动redis后,我们需要打开客户端进行操作,

redis的数据是什么格式 redis 数据格式_redis


String类型是包含很多种类型的特殊类型,并且是二进制安全的。比如序列化的对象进行储存,比如一张图片进行二进制储存,比如一个简单的字符串数值等等。1.存储:set key value,其中key是username,value是张三。

redis的数据是什么格式 redis 数据格式_redis的数据是什么格式_02


2.获取:get key,想要获取值,是通过键key来获取的,如下:

redis的数据是什么格式 redis 数据格式_字符串_03


3. 删除:del key

redis的数据是什么格式 redis 数据格式_数据库_04


2.2 哈希类型:hash

Hash类型是String类型的filed和value的映射表,或者说是一个String的结合,他特别适合存储对象。相比较而言把一个对象存储在Hash类型中要比直接存储在String中更加节省空间。并方便存储整个对象,Hash类型也是我们工作中最常用的一种。

1.存储:hset key field value,意思是将哈希表 key 中的字段 field 的值设为 value ,比如下图第一句是将哈希表myhash中的usename字段的值设为lisi。

redis的数据是什么格式 redis 数据格式_数据库_05


2.获取:

  1)hget key field: 获取指定的field对应的值。

  2)hgetall key:获取所有的field和value

redis的数据是什么格式 redis 数据格式_字符串_06


3.删除:hdel key field

redis的数据是什么格式 redis 数据格式_字符串_07

2.3 列表类型 :list

可以添加一个元素到列表的头部(左边)或者尾部(右边)。

1.添加
  1)lpush key value: 将元素加入列表左表
  2)rpush key value:将元素加入列表右边

下面通过这个图来说明lpush和rpush,首先 创建的list列表两边是开的,当lpush元素a,从列表左边存入list,再lpushi元素b,把a往列表里面挤一位,存入b;rpush的操作相反,是从list列表右边进行,如图rpush元素c.

redis的数据是什么格式 redis 数据格式_数据结构_08


下面来进行存储操作:

redis的数据是什么格式 redis 数据格式_数据结构_09


2.获取: lrange key start end :LRANGE key start stop 获取列表指定范围内的元素

redis的数据是什么格式 redis 数据格式_数据结构_10


3.删除

  1)lpop key:删除列表最左边的元素,并将元素返回

  2)rpop key:删除列表最右边的元素,并将元素返回

redis的数据是什么格式 redis 数据格式_字符串_11


redis的数据是什么格式 redis 数据格式_redis_12

2.4 集合类型:set

无序集合,不允许重复。

1.存储:sadd key member1

redis的数据是什么格式 redis 数据格式_redis_13


2.获取:smembers key: 获取set集合中所有元素

redis的数据是什么格式 redis 数据格式_数据结构_14


3. 删除:srem key value:删除set集合中的某个元素

redis的数据是什么格式 redis 数据格式_redis的数据是什么格式_15

2.5 有序集合类型:sorted set

不允许重复元素,且元素有顺序.每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。

1.存储:zadd key score1 member1 [ score2 member2]

redis的数据是什么格式 redis 数据格式_redis的数据是什么格式_16


2.获取:zrange key start end [withscores]

redis的数据是什么格式 redis 数据格式_redis的数据是什么格式_17


3.删除:zrem key value

redis的数据是什么格式 redis 数据格式_redis的数据是什么格式_18

下面在介绍几个通用的命令:

  1)keys * : 查询所有的键

  2)获取键对应的value的类型

  3)删除指定的key value

redis的数据是什么格式 redis 数据格式_数据库_19

总结

  关于redis的数据结构部分就介绍这么多啦,其实每种数据结构还有很多命令和操作方式,这里入个门就ok啦,有兴趣的小伙伴可以去redis中文官网去看看,里面有很多其它的内容哦。如果本篇内容能让你学到点东西的话,点个赞哈,另外如有错误之处欢迎留言指正。

下一篇将介绍redis数据库的持久化。