博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Redis 小白指南(二)- 聊聊五大类型:字符串、散列、列表、集合和有序集合...
阅读量:7257 次
发布时间:2019-06-29

本文共 1502 字,大约阅读时间需要 5 分钟。

原文:

Redis 小白指南(二)- 聊聊五大类型:字符串、散列、列表、集合和有序集合

引言

  开篇《》已经介绍了 Redis 的安装、GUI 和 C# 驱动等基本知识,这一篇主要是梳理一下 Redis 的 5 种类型的信息与指令。

 

目录

  • 字符串类型(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.应用:

  (1)文章内容存储:

 

列表类型(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

 

  这里只是进行了一些命令的整理,具体的使用很多时候还是需要自己进行到官方文档进行学习和搜索。

 

系列

  》

  》

  

  《》

 

 


【博主】反骨仔

【原文】 

【GitHub】

【参考】《Redis 入门指南》

 

转载地址:http://nzvdm.baihongyu.com/

你可能感兴趣的文章
【转】iOS设备的UDID是什么?苹果为什么拒绝获取iOS设备UDID的应用?如何替代UDID?...
查看>>
GetWindowRect和GetClientRect比较学习
查看>>
thinkphp 多表事务处理
查看>>
11-散列1 电话聊天狂人
查看>>
学SEO你其实只需要半个钟
查看>>
3G网卡PPP拨号
查看>>
AS3.0中的反射概念
查看>>
UIViewController中各方法调用顺序及功能详解
查看>>
C++ do{...}while(0)的好处
查看>>
【Todo】Python字符编码学习
查看>>
python实现朴素贝叶斯
查看>>
Lua和C++交互 学习记录之九:在Lua中以面向对象的方式使用C++注册的类
查看>>
Java操作MongoDB:连接&增&删&改&查
查看>>
Maven使用
查看>>
用python脚本把windows的文件上传到linux中
查看>>
m_Orchestrate learning system---三十四、使用重定义了$的插件的时候最容易出现的问题是什么...
查看>>
打开居中显示的窗口
查看>>
thinkphp多层volist实现多表查询
查看>>
TextView实现跑马灯效果
查看>>
使用ivim配置vim
查看>>