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 小白指南(二)- 基础命令和五大类型:字符串.散列.列表.集合和有序集合 引言 目录 基础命令 字符串类型 散列类型 列表类型 集合类型 有序集合类型 基础命令 1.获得符合规则的键名列表 ...

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

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

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

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

  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. Redis 四:存储类型之散列类型

    1.散列类型表达方式简介: =========================================== 键 字段 值 =================================== ...

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

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

随机推荐

  1. MATLAB R2017b安装及破解(安装详解)

    昨天知道有这个Matlab之后就开始想办法安装,今天为各位小伙伴解答昨天安装的过程,希望能够帮助到你们! 使用的镜像软件,我放在压缩包里面 如果你们感觉下载比较麻烦(可以直接发消息给我,我会发给你们的 ...

  2. Java的序列化和反序列化

    概述 Java对象的序列化和反序列化,这个词对我来说追溯到大学阶段,学Java对象流时知道有这东西.老师告诉我们可以把Java对象化作字节流,储存文件或网络通信.然后就是巴啦巴拉,一脸懵逼.举个例子, ...

  3. 百度推出 MIP Baidu Path链接

    在站长将站点 MIP 化时,需要关注 URL 的一共有三个:MIP URL, MIP-Cache URL 以及 MIP Baidu Path. 从 URL 说起 在互联网中,URL 定义页面的地址,每 ...

  4. PHP Array 简介

    PHP Array 简介 数组函数允许您访问和操作数组. 支持单维和多维数组. 安装 数组函数属于 PHP 核心部分.无需安装即可使用这些函数. PHP 5 Array 函数 函数 描述 array( ...

  5. 使用MongoDB在项目中实际运用

    一.MongoDB,一个数据库,我们怎么去使用它呢?我们首先了解一下什么是MongoDb 官网的介绍是:MongoDB是专为可扩展性,高性能和高可用性而设计的数据库.它可以从单服务器部署扩展到大型.复 ...

  6. Python调用ansible API系列(三)带有callback的执行adhoc和playbook

    在第二篇文章中虽然可以执行adhoc和playbook但是执行结果的输出并不是特别直观,虽然没有报错但是到底什么结果其实你是不知道的尤其是在执行adhoc的时候,这时候我们要利用callback来设置 ...

  7. MTCNN算法与代码理解—人脸检测和人脸对齐联合学习

    目录 写在前面 算法Pipeline详解 如何训练 损失函数 训练数据准备 多任务学习与在线困难样本挖掘 预测过程 参考 博客:blog.shinelee.me | 博客园 | CSDN 写在前面 主 ...

  8. ASP.NET Razor

    一.为什么要学习Razor? 可以让服务器代码(就是c#和vb)嵌入到网页中,也就是说这个页面中包含html代码和C#(vb)代码.基于服务器的代码可以在网页传送给浏览器时,创建动态 Web 内容.当 ...

  9. nginx + lua 限制ip地址访问

    实验环境:docker + openresty 我限制的5秒钟内允许访问两次效果图: default.conf  代码如下: lua_shared_dict my_limit_count_store ...

  10. Restframe_work 回顾记忆集

    目录 Restframe_work 回顾记忆集 rest_framework主要功能介绍 rest_framework主要模块介绍 记忆集 错题集 混淆集 重点集 难点集 Restframe_work ...