加入收藏 | 设为首页 | 会员中心 | 我要投稿 财气旺网 - 海宁网 (https://www.hainingwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程 > 正文

Redis避不开的五种数据结构

发布时间:2018-10-30 17:53:33 所属栏目:编程 来源:编辑部的故事
导读:Redis 中有 5 种数据结构,分别是字符串(String)、哈希(Hash)、列表(List)、集合(Set)和有序集合(Sorted Set),因为使用 Redis 场景的开发中肯定是无法避开这些基础结构的,所以熟练掌握它们也就成了一项必不可少的能力。本文章精要地介绍了 Redis 的这几

由于直接手动创建 512 个 field 不方便,为了更好的验证该功能,我将用程序的方式,动态创建 512 个 field 来验证此功能,下面为具体的代码:

  1. import redis  
  2. r = redis.Redis(host='127.0.0.1', port=6379)  
  3. print('Key为【userinfo】的字节编码为【%s】' % r.object('encoding', 'userinfo').decode('utf-8'))  
  4. for i in range(1,513):  
  5. r.hset('userinfo', i, '吉林乌拉')  
  6. print('Key为【userinfo】的字节编码为【%s】' % r.object('encoding', 'userinfo').decode('utf-8'))  
  7. Key为【userinfo】的字节编码为【ziplist】  
  8. Key为【userinfo】的字节编码为【hashtable】 

列表类型

Redis 中列表类型可以简单地理解为存储多个有序字符串的一种新类型,这种类型除了字符串类型中已有的功能外,还提供了其它功能,如可以对列表的两端插入和弹出元素(在列表中的字符串都可以称之为元素),除此之外还可以获取指定的元素列表,并且还可以通过索引下标获取指定元素等等。下面我们通过下图来看一下 Redis 中列表类型的插入和弹出操作:

Redis避不开的五种数据结构

下面我们看一下 Redis 中列表类型的获取与删除操作:

Redis避不开的五种数据结构

Redis 列表类型的特点如下:

列表中所有的元素都是有序的,所以它们是可以通过索引获取的,也就是上图中的 lindex 命令。并且在 Redis 中列表类型的索引是从 0 开始的。

列表中的元素是可以重复的,也就是说在 Redis 列表类型中,可以保存同名元素,如下图所示:

Redis避不开的五种数据结构

命令

下面我们还是和学习其它数据类型一样,我们还是先学习一下 Redis 列表类型的命令。

1.添加操作

从右边插入元素

rpush key value [value ...]

Redis避不开的五种数据结构

我们看 rpush 命令在插入时,是有返回值的,返回值的数量就是当前列表中所有元素的个数。

我们也可以用下面的命令从左到右获取当前列表中的所有的元素,也就是如上图所示中那样。

lrange 0 -1

从左边插入元素

lpush key value [value ...]

Redis避不开的五种数据结构

(编辑:财气旺网 - 海宁网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!