文章字数:503,阅读全文大约需要2分钟
HyperLogLog
用来统计基数个数的算法,优点在于输入元素数量或体积非常大的情况下计算使用的空间总是固定的。
基数:集合中不重复的元素,即去重之后的元素。
PFADD key element [element...]
添加指定元素到HyperLogLog中PFCOUNT key [key...]
返回给定HyperLogLog的基数估算值。PFMERGE destkey sourcekey [sourcekey]
将多个HyperLogLog合并成为一个
redis发布与订阅
消息通讯模式,又有两个角色。发送者(pub),订阅者(sub)。一个订阅者可以订阅多个频道。
频道即一个redis
PSUBSCRIBE pattern [pattern...]
订阅一个或多个符合给定模式的频道PUBSUB <subcommand> [argument [argument ...]]
查看订阅与发布系统状态PUBLISH channek message
将消息发sing给指定频道。PUNSUBSCRIBE pattern [pattern...]
订阅改定的一个或者多个频道SUBSCRIBE channel [channel...]
订阅给定的一个或多个频道UNSUBSCRIBE [chnanel [chnanel...]]
退订指定的频道
redis事务
redis的弹条命令是原子性的,但是事务并没有原子性的特点。更像是一个命令打包。
过程:开启事务,输入若干命令,执行。
执行过程中不会插入其它命令
执行过程中命令出错不会影响到其它的命令
DISCARD
取消事务,放弃执行事务块中的所有命令EXEC
执行所有事务块内的命令MULTI
标记一个事务块的开始UNWATCH
取消WATCH命令对key的监视WATCH key [key...]
监视一个或多个key,如果事务执行前这些key有改变,那么事务将被打断
在java中的使用
环境:jedis.jar
1 | import redis.clients.jedis.Jedis; |