网址:http://wiki.jikexueyuan.com/project/redis-guide/entry-to-master-middle.html

1.Redis的列表: 采用链表的实现方法,考虑到在一个很长的队列要快速的插入一个元素。列表可以在常数的时间内获取到列表的长度。

2.Redis的列表没有元素可以弹出时,返回nil。

3.列表的通用场景:

  1)记住社交网络的中用户的最近提交的更新。

  2)生产消费者模式。

4.LTRIM : 只记住最新的N项。范围外的数据都被删除。

  eg:LTRIM  0  2

5.LRANGE : 时间复杂度O(n),访问列表的头尾附近小范围是常量的时间操作。

6.列表的阻塞操作 :BRPOP 和 BLPOP。RPOP和LPOP的阻塞版本。

  eg:BRPOP tasks  5     (等待 tasks 列表中的元素,如果 5 秒后还没有可用元素就返回,0为一直等待)

  BRPOP的一些注意的事项:

    1)客户端按顺序服务:第一个被阻塞的客户端,第一个收到其他客户端添加的元素。

    2)与RPOP不同,返回的是一个数组,包括键的名字,因为BRPOP和BLPOP可以阻塞等待多个队列。

    3)超时返回NULL。

7. 从聚合类型删除一个元素,如果值为空,则键也会被销毁。

8. Redis的哈希和散列(Hashes)

  1)hmset   hkey    key1  value1 key2 value2 ...    --  可以容易的存储对象,没有字段的限制。

  2)hmget hkey  key   --  取出"对象"的相应属性的值,如果没有该属性,返回nil。

  3)hincrby hkey key  incr_value  -- 增加对象属性的值

9.集合:

  1) sadd -- 加入集合。

  2) smember -- 返回集合的所有成员。

  3) sismember -- 测试一个元素是不是集合的成员。

  4)sinter -- 对不同的集合之行交集的操作。

  5) spop --  随机删除集合的一个元素,并返回该元素。

  6) sunionstore -- 对多个集合执行交集,然后把结果存储到另一个集合。如果是对自身的操作,相当于拷贝。

  eg :sunionstore copy set1   -- 把set1集合的元素拷贝到copy集合。

  7)scard -- 返回集合元素的数量。

  8)srandmember -- 随机返回集合中的一个元素,但是不删除。

Redis 3.0中文版学习(二)的更多相关文章

  1. Redis 3.0中文版学习(一)

    网址:http://wiki.jikexueyuan.com/project/redis-guide/entry-to-master-a.html http://www.yiibai.com/redi ...

  2. Redis 学习(二) —— 数据类型及操作

    Redis支持string.list.set.zset.hash等数据类型,这一篇学习redis的数据类型.命令及某些使用场景. 一.String,字符串 字符串是 Redis 最基本的数据类型.一个 ...

  3. redis命令学习(二) · THIS SPACE

    列表(Lists)操作命令 Redis列表是简单的字符串列表,按照插入顺序排序. 你可以添加一个元素导列表的头部(左边)或者尾部(右边)LPUSH命令插入一个新的元素导头部,而RPUSH插入一个新元素 ...

  4. linux 下Redis 5.0主从复制(一主二从)哨兵模式的搭建

    文档结构如下: 一.环境说明: 作用 IP地址 端口 操作系统版本 安装目录 哨兵文件 主库 172.16.10.80 6379 Redhat 6.7 /redis5.0/redis-5.0.0 Se ...

  5. Redis学习第八课:Redis高级实用特性(二)

    Redis高级实用特性 4.持久化机制 Redis是一个支持持久化的内存数据库,也就是说Redis需要经常将内存中的数据同步到硬盘来保证持久化.Redis支持两种持久化方式:(1).snapshott ...

  6. Python学习二:词典基础详解

    作者:NiceCui 本文谢绝转载,如需转载需征得作者本人同意,谢谢. 本文链接:http://www.cnblogs.com/NiceCui/p/7862377.html 邮箱:moyi@moyib ...

  7. redis 5.0.3 讲解、集群搭建

    REDIS 一 .redis 介绍 不管你是从事Python.Java.Go.PHP.Ruby等等... Redis都应该是一个比较熟悉的中间件.而大部分经常写业务代码的程序员,实际工作中或许只用到了 ...

  8. Redis源码漂流记(二)-搭建Redis调试环境

    Redis源码漂流记(二)-搭建Redis调试环境 一.目标 搭建Redis调试环境 简要理解Redis命令运转流程 二.前提 1.有一些c知识简单基础(变量命名.常用数据类型.指针等) 可以参考这篇 ...

  9. Redis变慢?深入浅出Redis性能诊断系列文章(二)

    (本文首发于"数据库架构师"公号,订阅"数据库架构师"公号,一起学习数据库技术) 本篇为Redis性能问题诊断系列的第二篇,本文主要从应用发起的典型命令使用上进 ...

随机推荐

  1. 面试官:服务器安装 JDK 还是 JRE?可以只安装 JRE 吗?

    前些日子有知友面试时被问到如题所示的问题,由于他之前没有准备到这些最最基础的知识,没有考虑过这个问题,所以被问到时竟一脸萌币,回答的不是很好.这道题主要考的是对 Java 基础知识的了解,有些同学可能 ...

  2. .Net基础篇_学习笔记_第五天_流程控制while循环003

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  3. Winforn中使用代码动态生成控件

    场景 有时候需要根据配置文件在窗体中使用代码动态生成控件. 比如读取xml配置文件中的节点数量,然后在窗体中生成指定数量的RadioGroup控件. 实现 新建一个窗体,在窗体的加载完之后的事件中 p ...

  4. Spring Boot2 系列教程(六)自定义 Spring Boot 中的 starter

    我们使用 Spring Boot,基本上都是沉醉在它 Stater 的方便之中.Starter 为我们带来了众多的自动化配置,有了这些自动化配置,我们可以不费吹灰之力就能搭建一个生产级开发环境,有的小 ...

  5. 三句话告诉你break、return、continue!

    break:终止循环执行循环体下面的代码 return:终止循环并且退出循环所在的方法 continue:终止当前循环,进行下一次循环

  6. 【Python爬虫】第四课(查询照片拍摄地址)

    首先,要能够查询到照片地址,查询的照片必须要开GPS拍,且上传时用原图…… 查询图片的exif信息,使用exifread包 import exifread img = exifread.process ...

  7. js vue 页面添加水印

    vue 微信页面添加水印 this.$nextTick(function() {                                   watermark({ watermark_txt ...

  8. RDDs基本操作之Transformations

    逐元素Transformation map() map()接收函数,把函数应用到RDD的每个元素,返回新的RDD 举例: val lines = sc.parallelize(Array(" ...

  9. [Scikit-learn] 4.3 Preprocessing data

    数据分析的重难点,就这么来了,欢迎欢迎,热烈欢迎. 4. Dataset transformations 4.3. Preprocessing data 4.3.1. Standardization, ...

  10. [Algorithm] 面试题之犄角旮旯 第贰章

    闲下来后,需要讲最近涉及到的算法全部整理一下,有个indice,方便记忆宫殿的查找 MIT的算法课,地球上最好: Design and Analysis of Algorithms 本篇需要重新整理, ...