ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

redis - pipe/pubsub/bloom

2021-10-23 20:03:52  阅读:226  来源: 互联网

标签:事务 set redis echo pipe k2 bloom


pipe

echo -e "aaa\nbbb" 使用-e,echo就认为\n后是另一条命令

nc localhost 6379 使用nc打开socket连接
echo -e "set k2 99\nincr k2\nget k2" | nc localhost 6379 通过管道发生命令到6379端口,即redis。

help @pubsub

PUBLISH k1 message1
SUBSCRIBE k1 只能收到subscribe以后才publish的数据

实现聊天室功能:

  • 读取(看对话)
    • 对于live对话,使用pub/sub完成对话更新。
    • 对于历史纪录(3天),可以加入一个新redis(redis02)并使用sorted_set功能,完成过去3天的历史记录。
    • 对于更长的历史纪录,则是走db
  • 写(发对话)
    • service1订阅,然后更新redis02的sorted_set
    • service2订阅,然后把消息放进mq(rabbitmq/kafka),另一端dbservice更新db。

help @transaction

  • watch: 在multi之前执行,如果事务中发现watch的对象改变了,那么事务就中断
  • multi: 事务开始
  • exec: 事务执行
  • 如果多个事务交错进入redis,那么先看到exec的事务会先执行。

redis 中文网站
redis 英文网站,多了一个modules,https://redis.io/modules
可以添加bloom模块。

redis bloom

redis-server --loadmodule path/redisbloom.so
bf.add
bf.exists

对于redis bloom缓存穿透的数据,可以在redis内再加一条记录,这样下次看到redis有cache,就不会再穿透。

标签:事务,set,redis,echo,pipe,k2,bloom
来源: https://www.cnblogs.com/mryux/p/15449321.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有