事务
multi ... exec  之间的操作先进入等待队列,到exec时一起执行
                事物的所有操作结果都是一起返回的,所以前一条指令的结果无法作为后一条指令的参数
                其中的指令有语法错误时,都不执行;有“类型不匹配”等逻辑错误时,只执行对的指令;没有回滚
                
watch 监控一个或多个key 一旦监控的键值有修改,其后的事务就不执行
        监控范围:从开始监控到事务执行之前(实际上是从watch到exec,
                但是由于multi...exec之间的指令是在exec这个点一起执行的,所以看上去是从watch到multi)

生存时间
expire key seconds 设置key的生存时间为seconds秒(该键在seconds秒后自动删除)
ttl key 查看键key的剩余生存时间
persist key 该键持久化
##在生存时间相关的指令前加p(pexpire pttl),时间单位变为毫秒
expireat key unixtime 设置该键在unixtime时自动删除

可以设置在内存到达规定时,键的自动删除策略
    {如:对所有键执行LRU;对设置了生存时间的键执行LRU;在内存满了时报错;对所有键随机删除;对设置了生存时间的键随机删除}

排序
sort s/l/z 返回从小到大的序列(有序集合是对元素自身的值进行排列)(若元素是纯字符串,报错)
sort s/l/z ALPHA 按字典序输出纯字符串
加 DESC 参数  倒序输出
加 limit 1 2 参数 带偏移量 输出数量
加 by (by 后可接 String、hashmap)
    形如:sort s/l/z by item:*->time   *是将sort序列循环一遍代替* ->是按hashmap中time排序
            sort s/l/z by item:*   字符串
    注:当要排序值相等时 按元素自身值排序 不存在该排序值默认为0

by后面可加get(可加多个)#代表循环值
    形如:sort tag:ruby:posts by post:*->time DESC
            get post:*->time get #
    
get后可加store   将结果保存在列表中,并返回列表长度
    形如:sort tag:ruby:posts by post:*->time DESC
            get post:*->time get # store sort:result
sort很容易成为性能瓶颈 O(n+mlogm)n为要排序的数据总量 m为要返回的个数

消息通知
brpop lkeyA [lkeyB ...] time (time为等待时长,0为无限等待 )
    当多个等待队列都没有值时,等待,若等了time还没值,就返回nil
    当都有值时,前面的队列 优先取
    返回值是个数组  [0]为返回队列的名称 [1]返回的内容

订阅、发布模式
发布消息:public channel message 返回值为收到消息者的数量
订阅频道:subscribe channel (可以订阅多个频道,进入订阅模式后,只能使用订阅相关指令)
订阅模式三种返回值:
        “subscribe” “频道名称” “你共订阅了几个频道”
        “message”  “频道名称”   “消息内容”
        “unsubscribe”  “频道名称”  “你剩余几个频道”
unsubscribe [channel ...] 若未指定 频道名 会取消订阅所有频道

还可以订阅一类频道 如:psubscribe item:*

Redis(二) 扩展的更多相关文章

  1. php7对redis的扩展及redis主从搭建

    这两天在学习一下php7下面的安装及redis相关配置认识.并将笔记记下来.以备后用.主要涉及到redis的扩展php-redis 及redis主从的配置. 一:redis安装     1:下载并安装 ...

  2. nginx/php的redis模块扩展

    redis模块介绍 redis2-nginx-module 可以实现 Nginx 以非阻塞方式直接防问远方的 Redis 服务,可以启用强大的 Redis 连接池功能,进而实现更多的连接与更快速的访问 ...

  3. inux redis 安装配置, 以及redis php扩展

    一,什么是redis redis是一个key-value存储系统. 和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list(链表).set(集合)和zset ...

  4. 【转】php7对redis的扩展及redis主从搭建

    一:redis安装     1:下载并安装 cd /home/software wget http://download.redis.io/releases/redis-3.2.3.tar.gz ta ...

  5. redis php扩展安装下载

    php的redis 扩展下载地址 Windows :http://windows.php.net/downloads/pecl/releases/redis/2.2.7/ 下载对应版本,一般有两个 n ...

  6. redis和redis php扩展安装(转)

    redis是一个内存数据库,比memcache支持更丰富的value类型,新浪微博就使用redis来做缓存. redis的源码安装 wget http://download.redis.io/redi ...

  7. redis php扩展及基本命令

    linux 安装php mysql redis memchache 等工具 用 OneinStack 安装步骤 注意 如果有单独数据盘,建议您先挂载数据盘,建议将网站内容.数据库放在数据盘中.如何挂载 ...

  8. redis水平扩展实践,完全配置,无需代码改动

    设计思路 思路很简单,就是基于用户ID进行分库,将用户的ID字符串按照byte逐个计算ID对应的hash原值(一个数字,取绝对值,因为原始值可能过大溢出,变成负数),然后,再用这个hash原值对库的个 ...

  9. 分布式数据存储 之 Redis(二) —— spring中的缓存抽象

    分布式数据存储 之 Redis(二) -- spring中的缓存抽象 一.spring boot 中的 StringRedisTemplate 1.StringRedisTemplate Demo 第 ...

  10. 深入理解MVC C#+HtmlAgilityPack+Dapper走一波爬虫 StackExchange.Redis 二次封装 C# WPF 用MediaElement控件实现视频循环播放 net 异步与同步

    深入理解MVC   MVC无人不知,可很多程序员对MVC的概念的理解似乎有误,换言之他们一直在错用MVC,尽管即使如此软件也能被写出来,然而软件内部代码的组织方式却是不科学的,这会影响到软件的可维护性 ...

随机推荐

  1. 调用 SSPI 失败,请参见内部异常。接收到的消息异常,或格式不正确。

    完整异常信息: System.Security.Authentication.AuthenticationException: 调用 SSPI 失败,请参见内部异常. ---> System.C ...

  2. 网络编程(一):用C#下载网络文件的2种方法

    使用C#下载一个Internet上的文件主要是依靠HttpWebRequest/HttpWebResonse和WebClient.具体处理起来还有同步和异步两种方式,所以我们其实有四种组合. 1.使用 ...

  3. Linux手动释放内存

    手动释放内存 1.sync将内存中的缓存写入磁盘 2.  to free pagecache, use echo 1 > /proc/sys/vm/drop_caches;       to f ...

  4. asp.net忘记密码功能

    //调用接口 post public string GetResponseByPost(string mobile, string messcode, string values, string ut ...

  5. css3动画2(transform用法)

    1.直接写在样式里,比如一个小箭头,transform:rotate(135deg)即可 2.写动画过程,@keyframes和transform和animation组合起来用 写在@keyframe ...

  6. arguments转换为数组格式

    var agArr = []; for(var i = 0; i < arguments.length; i++) { agArr.push(arguments[i]) }

  7. Android Activity 四种启动模式

    task和back stack(任务和回退栈) 任务启动,task被加入到回退栈的栈顶,返回的时候回退栈的栈顶任务会被弹出,并被销毁,栈中的前一任务恢复运行,当activity销毁是,系统不会保留ac ...

  8. STL中的set容器的一点总结

    1.关于set C++ STL 之所以得到广泛的赞誉,也被很多人使用,不只是提供了像vector, string, list等方便的容器,更重要的是STL封装了许多复杂的数据结构算法和大量常用数据结构 ...

  9. private + virtual in Java/C++

    在Java中,private方法是隐式final的,就是说即使在子类中定义一个一模一样的方法,编译器认为这是两个没有联系的方法.private方法不参与运行时多态,这点和 final方法.static ...

  10. 编程模式之观察者模式(Observer)

    观察者模式由四个角色组成:抽象主题角色,抽象观察者角色,具体主题角色,抽象观察者角色,具体观察者角色. 抽象主题角色(Subject):把所有的观察者角色的引用保存在一个集合中,可以有任意数量的观察者 ...