文档章节

redis04列表

AllenOR灵感
 AllenOR灵感
发布于 2017/09/10 01:17
字数 465
阅读 2
收藏 0
点赞 0
评论 0

到目前为止,不论是字符串还是哈希,当涉及到多条相同性质的数据存储时,采用的办法是在键上通过冒号和数字来标识它们的ID(例如下面这段代码);但是当需要完成一个分页功能(也就是对一个范围段数字进行切片)时,就无法满足这种需求。解决分片的问题只能利用列表类型的特性。

字符串类型

r.set('str_computer:1', json.dumps({'owner': 'john', 'cpu': 'i5', 'hd': 'ssd', 'mem': '8G'}))
r.set('str_computer:2', json.dumps({'owner': 'anna', 'cpu': 'i5', 'hd': 'ssd', 'mem': '8G'}))
r.set('str_computer:3', json.dumps({'owner': 'eric', 'cpu': 'i5', 'hd': 'ssd', 'mem': '8G'}))
...
...
r.set('str_computer:1000', json.dumps({'owner': 'jack', 'cpu': 'i5', 'hd': 'ssd', 'mem': '8G'}))

哈希类型

r.hmset('hash_computer:1', {'owner': 'john', 'cpu': 'i5', 'hd': 'ssd', 'mem': '8G'})
r.hmset('hash_computer:2', {'owner': 'anna', 'cpu': 'i5', 'hd': 'ssd', 'mem': '8G'})
r.hmset('hash_computer:3', {'owner': 'eric', 'cpu': 'i5', 'hd': 'ssd', 'mem': '8G'})
...
...
r.hmset('hash_computer:1000', {'owner': 'jack', 'cpu': 'i5', 'hd': 'ssd', 'mem': '8G'})

在redis中列表是最为核心的类型,由于redis本身不支持深度条件查找(不像mongodb或关系型数据库那样可以利用内置语法来查询到多条数据的过滤条件语句),因此在redis中涉及到频繁更新或读取的字段一般都会拆分开放在列表中以id进行记录;例如分页、评论、关注列表、粉丝列表、动态统计信息、消息队列。

缺点
由于没有外键的原因,一般的做法都是使用列表通过id来和其他类型数据的ID进行一一对应,所以当删除某条字符串或哈希类型的数据时,也要单独去删除列表中对应的id。

最后
redis列表的操作命令和python的列表很接近,所以我就不展开记录了。

参考

本文转载自:http://www.jianshu.com/p/a68cc436ca65

共有 人打赏支持
AllenOR灵感
粉丝 10
博文 2634
码字总数 82983
作品 0
程序员
Bootstrap提供了六种列表效果

列表--简介 在HTML文档中,列表结构主要有三种:有序列表、无序列表和定义列表。具体使用的标签说明如下: 无序列表 <ul> <li>…</li> </ul> 有序列表 <ol> <li>…</li> </ol> 定义列表 <dl>......

9秒教育
2015/12/03
345
0
OpenGL显示列表

 OpenGL显示列表(Display List)是由一组预先存储起来的留待以后调用的OpenGL函数语句组成的,当调用这张显示列表时就依次执行表中所列出的函数语句。前面内容所举出的例子都是瞬时给出函数...

teacheryang
2010/11/19
0
0
走进Python世界(五)数据类型 4. 序列类型-列表(List)

什么是列表 列表是处理一组有序项目的数据结构,即你可以在一个列表中存储一个序列的项目 列表是可变的数据类型 列表的组成:用[]表示列表,包含了多个以逗号分隔开 数字,或者字符串。 列表...

Garrry
2015/07/24
0
0
列表

一、简介 列表中的每个元素都分配一个数字 - 它的位置,或索引,第一个索引是0,第二个索引是1,依此类推。 创建一个列表,只要把逗号分隔的不同的数据项使用方括号括起来即可。如下所示: ...

ryan_bai
2017/11/15
0
0
python数据类型-列表创建和操作

列表创建和操作 a) 创建列表 b) 基本操作 c) 遍历 与其说 列表 它是一个数据类型,用起来 更像一个灵活多变的数据存储方案 创建列表 创建列表例子 player = 'mao 80 50' mao = '100 60 0' zo...

新网学会
2017/12/08
0
0
Python3学习笔记——列表(二)

对列表元素的操作 1、增加元素 1.1 append()方法 append()方法用于将元素添加到列表末尾。 输出为: 1.2 insert()方法 insert()方法可以在列表的任意位置插入元素,它有两个参数,第一个参数...

equalsYU
05/26
0
0
ACL详解 访问控制列表基础知识

https://wenku.baidu.com/view/fb1c614c767f5acfa1c7cd08.html?from=search (转载自百度文库) 访问控制列表本质上是一系列对包进行分类的条件。在需要控制网络流量时,它们真的是非常有用。...

tianweitt
06/26
0
0
redis——列表(list)

Redis列表是简单的字符串列表,按照插入顺序排序。可以添加一个元素到列表的头部(左边)或者尾部(右边),一个列表最多可以包含2^32-1个元素。 list列表命令: 1、BLPOP list1 [list2] tim...

Allenyan
05/12
0
0
Python编程入门到实践 - 笔记( 3 章)

练习内容包括 创建并访问列表 列表的索引 使用列表中的各个值 修改列表中的元素 在列表中添加元素 append() 在列表中插入元素 insert() 在列表中删除元素 del,pop() 根据值删除列表中的元素 ...

mlwzby
07/02
0
0
python列表、切片和元组操作示例

python列表、切片和元组操作示例 列表: 列表是指一组有序的数据集合 列表中可以包含不同类型的对象 列表可以由[]或工厂函数创建 支持下标及切片操作 定义列表:列表的命名规则和变量等同,定...

高好亮
2016/07/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Git GUI Client

Git GUI Client   这里我们为大家收藏了众多Git的GUI客户端,下载请点击这里

qwfys
8分钟前
0
0
SpringBoot | 第九章:Mybatis-plus的集成和使用

前言 本章节开始介绍数据访问方面的相关知识点。对于后端开发者而言,和数据库打交道是每天都在进行的,所以一个好用的ORM框架是很有必要的。目前,绝大部分公司都选择MyBatis框架作为底层数...

oKong
12分钟前
2
0
win10 上安装解压版mysql

1.效果 2. 下载MySQL 压缩版 下载地址: https://downloads.mysql.com/archives/community/ 3. 配置 3.1 将下载的文件解压到合适的位置 我最终将myql文件 放在:D:\develop\mysql 最终放的位...

Lucky_Me
18分钟前
1
0
linux服务器修改mtu值优化cpu

一、jumbo frames 相关 1、什么是jumbo frames Jumbo frames 是指比标准Ethernet Frames长的frame,即比1518/1522 bit大的frames,Jumbo frame的大小是每个设备厂商规定的,不属于IEEE标准;...

问题终结者
33分钟前
1
0
expect脚本同步文件expect脚本指定host和要同步的文件 构建文件分发系统批量远程执行命令

expect脚本同步文件 在一台机器上把文件同步到多台机器上 自动同步文件 #!/usr/bin/expectset passwd "123456"spawn rsync -av root@192.168.133.132:/tmp/12.txt /tmp/expect {"yes...

lyy549745
33分钟前
0
0
36.rsync下 日志 screen

10.32/10.33 rsync通过服务同步 10.34 linux系统日志 10.35 screen工具 10.32/10.33 rsync通过服务同步: rsync还可以通过服务的方式同步。那需要开启一个服务,他的架构是cs架构,客户端服务...

王鑫linux
41分钟前
0
0
matplotlib 保存图片时的参数

简单绘图 import matplotlib.pyplot as pltplt.plot(range(10)) 保存为csv格式,放大后依然很清晰 plt.savefig('t1.svg') 普通保存放大后会有点模糊文件大小20多k plt.savefig('t5.p...

阿豪boy
46分钟前
1
0
java 8 复合Lambda 表达式

comparator 比较器复合 //排序Comparator.comparing(Apple::getWeight);List<Apple> list = Stream.of(new Apple(1, "a"), new Apple(2, "b"), new Apple(3, "c")) .collect(......

Canaan_
昨天
0
0
nginx负载均衡

一、nginx 负载均衡 拓扑图: 主机信息: 1、负载均衡器1(lb1):192.168.10.205 RHEL7.5 2、负载均衡器2(lb2):192.168.10.206 RHEL7.5 3、web服务器1(web01):192.168.10.207 Centos...

人在艹木中
昨天
0
0
做了一个小网站

做了一个小网站 www.kanxs123.com

叶落花开
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部