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

引言

  开篇《Redis 小白指南(一)- 简介、安装、GUI 和 C# 驱动介绍》已经介绍了 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

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

系列

  《Redis 小白指南(一)- 简介、安装、GUI 和 C# 驱动介绍

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

  《Redis 小白指南(三)- 事务、过期、消息通知、管道、优化内存空间》

  《Redis 小白指南(四)- 数据的持久化保存


【博主】反骨仔

【原文】http://www.cnblogs.com/liqingwen/p/6919308.html

【GitHub】https://github.com/liqingwen2015/Wen.Helpers/blob/master/Wen.Helpers.Common/Redis/RedisHelper.cs

【参考】《Redis 入门指南》

Redis 小白指南(二)- 基础命令和五大类型:字符串、散列、列表、集合和有序集合的更多相关文章

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

    Redis 小白指南(二)- 聊聊五大类型:字符串.散列.列表.集合和有序集合 引言 开篇<Redis 小白指南(一)- 简介.安装.GUI 和 C# 驱动介绍>已经介绍了 Redis 的 ...

  2. Redis 小白指南(三)- 事务、过期、消息通知、管道和优化内存空间

    Redis 小白指南(三)- 事务.过期.消息通知.管道和优化内存空间 简介 <Redis 小白指南(一)- 简介.安装.GUI 和 C# 驱动介绍> 讲的是 Redis 的介绍,以及如何 ...

  3. Redis 小白指南(一)- 简介、安装、GUI 和 C# 驱动介绍

    Redis 小白指南(一)- 简介.安装.GUI 和 C# 驱动介绍 目录 简介 安装 入门指令 GUI 工具 C# 驱动介绍 简介 ANSI C 编写,开源,基于内存,可持久化,一个键值对的数据库, ...

  4. Redis 小白指南(四)- 数据的持久化保存(草稿)

    Redis 小白指南(四)- 数据的持久化保存 简介 因为 redis 将数据保存在内存中,很容易诱发的一个问题就是,程序崩溃或服务器重启等情况如何保证数据的正常存储. 当我们以 redis 作为主数 ...

  5. redis 系列9 对象类型(字符串,哈希,列表,集合,有序集合)与数据结构关系

    一.概述 在前面章节中,主要了解了 Redis用到的主要数据结构,包括:简单动态字符串.链表(双端链表).字典.跳跃表. 整数集合.压缩列表(后面再了解).Redis没有直接使用这些数据结构来实现键值 ...

  6. 高可用Redis(四):列表,集合与有序集合

    1.列表类型 1.1 列表数据结构 左边为key,是字符串类型 右边为value,是一个有序的队列,与python的列表结构相同 可以在Redis中对列表的value进行如下操作 从左边添加元素 从右 ...

  7. redis学习(七)——五大数据类型总结:字符串、散列、列表、集合和有序集合

    目录 字符串类型(String) 散列类型(Hash) 列表类型(List) 集合类型(Set) 有序集合类型(SortedSet) 其它命令 一.字符串类型(String) 1.介绍: 字符串类型是 ...

  8. python对redis的常用操作 下 (无序集合,有序集合)

    无序集合: 首先介绍增加,删除和获得所有元素的方法.我将会用第二部分来讨论集合的特殊操作: In [136]: x.sadd("challenge", 1,2,3,4,5,6,7, ...

  9. Redis操作集合,有序集合

    Set操作,Set集合就是不允许重复的列表 sadd(name,values) 1 # name对应的集合中添加元素 scard(name) 1 获取name对应的集合中元素个数 sdiff(keys ...

随机推荐

  1. PHP常用的三种设计模式

    本文为大家介绍常用的三种php设计模式:单例模式.工厂模式.观察者模式,有需要的朋友可以参考下. 一.首先来看,单例模式 所谓单例模式,就是确保某个类只有一个实例,而且自行实例化并向整个系统提供这个实 ...

  2. 第五章 HQL实用技术

    第五章   HQL实用技术5.1  使用HQL查询语句(面向对象查询语句)    5.1.1 编写HQL语句        5.1.1.1 from子句                    例:fr ...

  3. Redis技术分享

    环境介绍: 开发环境: spring3+tomcat7+maven3+redis-3.0.7 运行环境: Linux 前言: 项目中引入redis背景: 项目中最初将科目.打印.利润表.资产负债表.现 ...

  4. CF #CROC 2016 - Elimination Round D. Robot Rapping Results Report 二分+拓扑排序

    题目链接:http://codeforces.com/contest/655/problem/D 大意是给若干对偏序,问最少需要前多少对关系,可以确定所有的大小关系. 解法是二分答案,利用拓扑排序看是 ...

  5. css 画出三角形

    技术分享不一定行文累赘 这里说说最简洁的 css 画出三角形 display: inline-block; border: 10px dashed transparent; border-left: ...

  6. JS设计模式---缓存代理

    缓存代理可以为一些开销大的运算结果提供暂时的存储,在下次运算的时候,传进来的参数跟上次是一致, 则可以直接返回前面存储的结果. 运行上面的代码我们发现,当第二次再调用proxyMult(1,2,3)的 ...

  7. 【2017-04--28】Winform中ListView控件

    ListView 1.先设置列,设置视图属性选择Details. 添加列,修改列名. 2.编辑项(添加行数据) 添加一个ListViewItem对象,该对象的Text对应着是第一列的数据, 在该对象的 ...

  8. uoj #58 【WC2013】糖果公园

    题面:http://uoj.ac/problem/58 正解:树上带修改莫队. 首先Orz vfk大神,树上莫队的套路还是很厉害的..http://vfleaking.blog.163.com/blo ...

  9. [系统启动]Printk与sched_clock_init的一点分析

     作者:Younger Liu, 本作品采用知识共享署名-非商业性使用-相同方式共享 3.0 未本地化版本许可协议进行许可. 在分析Linu内核启动的过程中,发现一段"不平常" ...

  10. http接口加密《一》:移动应用中,通过在客户端对访问的url进行加密处理来保护服务器上的数据

    来源:http://meiyitianabc.blog.163.com/blog/static/10502212720131056273619/ 我认为,保护服务器端的数据,有这么几个关键点: 不能对 ...