zoukankan      html  css  js  c++  java
  • redis

    pipe

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

    nc localhost 6379 使用nc打开socket连接
    echo -e "set k2 99 incr k2 get 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,就不会再穿透。

    --------------------------- 知道的更多,不知道的也更多 ---------------------------
  • 相关阅读:
    codechef Taxi Driver
    BZOJ2190 SDOI2008 仪仗队
    BZOJ 1070: [SCOI2007]修车
    BZOJ 1066 [SCOI2007]蜥蜴
    最大流模板
    表达式计算
    codechef Polo the Penguin and the Tree
    LCA 求 树中两个点的距离
    Baby Step Giant Step model
    POJ 1330 Nearest Common Ancestors (LCA,dfs+ST在线算法)
  • 原文地址:https://www.cnblogs.com/mryux/p/15449321.html
Copyright © 2011-2022 走看看