redis学习(七)——五大数据类型总结:字符串、散列、列表、集合和有序集合
目录
- 字符串类型(String)
- 散列类型(Hash)
- 列表类型(List)
- 集合类型(Set)
- 有序集合类型(SortedSet)
- 其它命令
一、字符串类型(String)
1.介绍:
字符串类型是 Redis 中最基本的数据类型,可以存储二进制数据、图片和 Json 的对象。
字符串类型也是其他 4 种数据库类型的基础,其它数据类型可以说是从字符串类型中进行组织的,如:列表类型是以列表的形式组织字符串,集合类型是以集合的形式组织字符串。
2.命令:
【备注】包括 INCR 在内的所有 Redis 命令都是原子操作。
3.命令测试:
4.命名
建议:“对象类型:对象ID:对象属性”命名一个键,如:“user:1:friends”存储 ID 为 1 的用户的的好友列表。对于多个单词则推荐使用 “.” 进行分隔。
5.应用:
(1)访问量统计:每次访问博客和文章使用 INCR 命令进行递增;
(2)将数据以二进制序列化的方式进行存储。
二、散列类型(Hash)
1.介绍:
散列类型采用了字典结构(k-v)进行存储。
散列类型适合存储对象。可以采用这样的命名方式:对象类别和 ID 构成键名,使用字段表示对象的属性,而字段值则存储属性值。如:存储 ID 为 2 的汽车对象。
2.命令:
3.命令测试:
4.应用:
文章内容存储:
三、列表类型(List)
1.介绍:
列表类型(list)可以存储一个有序的字符串列表,常用的操作是向两端添加元素。
列表类型内部是使用双向链表实现的,也就是说,获取越接近两端的元素速度越快,代价是通过索引访问元素比较慢。
2.命令:
3.命令测试:
【解析】向列表的左边添加元素“1”,再依次加入“2”、“3”
然后:
在列表的右边依次加入两个元素“0”、“-1”:
4.应用:
(1)显示社交网站的新鲜事、热门评论和新闻等;
(2)当队列使用;
(3)记录日志。
四、集合(Set)
1.介绍:
字符串的无序集合,不允许存在重复的成员。
多个集合类型之间可以进行并集、交集和差集运算。
2.命令:
3.图解交、并、差集:
4.命令测试:
5.应用:
(1)文章标签。
五、有序集合(SortedSet)
1.介绍:
在集合类型的基础上添加了排序的功能。
2.命令:
3.命令测试:
4.应用:
(1)点击量排序
六、其他命令
1.获得符合规则的键名列表
KEYS pattern
pattern 支持 glob 风格通配符:
2.判断一个键是否存在
EXISTS key
如果键存在则返回整数类型 1,否则返回 0。
3.删除键
DEL key [key ...]
可以删除一个或者多个键,返回值是删除的键的个数
4.获得键值的数据类型
TYPE key
最新文章
- 有点担心Node.js的未来了
- 关于有默认值的字段在用EF做插入操作时的思考(续)
- 802.11 对于multicast 和 broadcast的处理
- 开关电源-BUCK
- msyql数据库位置
- Promises与Javascript异步编程
- web服务器 应用 服务器
- UVA 11865 Stream My Contest 组网 (朱刘算法,有向生成树,树形图)
- HTML5 文件域+FileReader 分段读取文件并上传到服务器(六)
- centos6.5安装禅道
- Python自建logging模块
- 指定IP地址进行远程访问服务器设置方法(windows系统)
- C# 实现Remoting双向通信
- iOS block 机制
- BZOJ4042 : [Cerc2014] parades
- Scala安装配置
- Java之集合(二十一)LinkedTransferQueue
- Python标准库笔记(6) — struct模块
- Java基础——枚举
- webqq协议分析之~~~~验证是否需要验证码
热门文章
- Android横竖屏切换的生命周期
- loadrunner 脚本优化-参数化之Parameter List参数取值
- VS开发程序用户防范安全问题
- ASP.NET Core 入门教程 1、使用ASP.NET Core 构建第一个Web应用
- ssh-keygen的学习总结
- 两层c:forEach循环嵌套
- 使用concurrent.futures模块中的线程池与进程池
- oracle 分组函数执行分析
- C# json、xml序列化
- Syntax error, parameterized types are only available if source level is 1.5 解决方案