Redis常用特性

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Redis常用特性相关的知识,希望对你有一定的参考价值。

发布订阅

·服务器状态在pubsub_channels字典保存了所有频道的订阅关系:SUBSCRIBE命令负责将客户端和被订阅的频道关联到这个字典里面,而UNSUBSCRIBE命令则负责解除客户端和被退订频道之间的关联。

·服务器状态在pubsub_patterns链表保存了所有模式的订阅关系:PSUBSCRIBE命令负责将客户端和被订阅的模式记录到这个链表中,而PUNSUBSCRIBE命令则负责移除客户端和被退订模式在链表中的记录。

·PUBLISH命令通过访问pubsub_channels字典来向频道的所有订阅者发送消息,通过访问pubsub_patterns链表来向所有匹配频道的模式的订阅者发送消息。

·PUBSUB命令的三个子命令都是通过读取pubsub_channels字典和pubsub_patterns链表中的信息来实现的。

 

更多命令

http://www.runoob.com/redis/redis-pub-sub.html

 

事务

Redis通过MULTI、EXEC、WATCH等命令来实现事务(transaction)功能。事务提供了一种将多个命令请求打包,然后一次性、按顺序地执行多个命令的机制,并且在事务执行期间,服务器不会中断事务而改去执行其他客户端的命令请求,它会将事务中的所有命令都执行完毕,然后才去处理其他客户端的命令请求。‘

·事务提供了一种将多个命令打包,然后一次性、有序地执行的机制。

·多个命令会被入队到事务队列中,然后按先进先出(FIFO)的顺序执行。

·事务在执行过程中不会被中断,当事务队列中的所有命令都被执行完毕之后,事务才会结束。

·带有WATCH命令的事务会将客户端和被监视的键在数据库的watched_keys字典中进行关联,当键被修改时,程序会将所有监视被修改键的客户端的REDIS_DIRTY_CAS标志打开。

·只有在客户端的REDIS_DIRTY_CAS标志未被打开时,服务器才会执行客户端提交的事务,否则的话,服务器将拒绝执行客户端提交的事务。

·Redis的事务总是具有ACID中的原子性、一致性和隔离性,当服务器运行在AOF持久化模式下,并且appendfsync选项的值为always时,事务也具有耐久性。

 

排序

Redis的SORT命令可以对列表键、集合键或者有序集合键的值进行排序。

SORT<key>命令的实现

这个命令可以对一个包含数字值的键key进行排序。

以上是关于Redis常用特性的主要内容,如果未能解决你的问题,请参考以下文章

golang常用库包:缓存redis操作库go-redis使用(03)-高级数据结构和其它特性

redis 常用操作

Redis学习与总结

Redis常用配置详解

redis常用总结

常用缓存淘汰策略算法解析