zoukankan      html  css  js  c++  java
  • Redis 3.0中文版学习(二)

    网址: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 -- 随机返回集合中的一个元素,但是不删除。

    学习记录,方便复习
  • 相关阅读:
    CountDownLatch原理分析
    Maven項目打包報錯:Plugin execution not covered by lifecycle configuration
    Java实现编辑距离算法
    MQ的深入理解
    关于HashMap
    JVM基础详解
    Java实现Mysql的 substring_index 函数功能
    Kettle发送邮件
    Kettle实现从数据库中提取数据到Excel
    bzoj1596[Usaco2008 Jan]电话网络*
  • 原文地址:https://www.cnblogs.com/jingjingdidunhe/p/6519554.html
Copyright © 2011-2022 走看看