redis 基础命令

1、阻塞读:如果线程⼀直阻塞在哪⾥,Redis 的客户端连接就成了闲置连接,闲置过久,服务器⼀般会主动断开连接,减少闲置资源占⽤。这个时候blpop/brpop会抛        出异常来。所以编写客户端消费者的时候要⼩⼼,注意捕获异常,还要重试。 

 

  锁冲突处理(客户端在处理请求时加锁没加成功) :

   1. 直接抛出异常,通知⽤户稍后重试;
   2. sleep ⼀会再重试;
   3. 将请求转移⾄延时队列,过⼀会再试; 
 
 批量设置key值 mset name1 boy name2 girl name3 unknown
 批量获取key值
mget name1 name2 name3 
 设置分布式锁 setnx key value    若键 key 已经存在, 则 SETNX 命令不做任何动作   命令在设置成功时返回 1 , 设置失败时返回 0 。
 设置分布式锁过期时间
set lock:codehole true ex 5 nx 
 删除分布式锁 del lock : codehole (锁的名称)
 添加值进入队列  rpusn  key value  例如:  rpush notify-queue apple banana pear
 获取队列的长度  llen 队列的名称    例如:  llen notify
 从队列中弹出  lpop 队列名称    例如:lpop notify 从左侧弹出一个
 阻塞读
blpop/brpop 用法和lpop rpop 一样   阻塞读在队列没有数据的时候,会⽴即进⼊休眠状态,⼀旦数据到来,则⽴刻醒过来。
 自增1  incrby
 自减1  decrby
   
   
   
   
   
   
   
   
   
posted @ 2019-05-30 22:01  小呆1107  阅读(104)  评论(0编辑  收藏  举报