• redis(笔记)


    ./redis-cli -a root 带密码链接 root 为我的密码
    del key 删除key

    keys * 查询 所有key
    exist key key是否存在 成功返回1 失败Wie0

    set k vale 设置键值对
    setnx k v 不存在则加入 分布式锁
    getrange k start end 截取字符串
    ttl key 查询key的过期时间返回 -1 为永久(默认永久)
    incrby keyname 增量值 key中村的数字加上指定的增量值(原子性)
    dece kename 减值 不写增减值默认为1

    expire key seconds 设置key过期时间 后面单位为秒 此时ttl key 返回到期时间
    pexpire expire key milliseconds 时间为毫秒 同上
    persist key 把KEY设置为永久

    ? 通配符
    例如 有 user:1 user:2 user:3 先要都查出 可以用 keys user:?

    rename key newkey 修改key名称

    move key db 把key移到指定的数据库中(貌似有十几个)

    type key 得到key类型
    --------------------------------------应用场景----------------
    1 限时优惠
    2 网站数据缓存
    3 手机验证码(验证码过期时间)
    4 限制网站访客评率
    ---------------------

    key 命名规范 不要太长不要太短
    格式 user:123:password 一般用: sql 用_ 比较多
    key 名称区分大小写
    ---------------------------------------
    数据类型
    hash 类似javabean user(id,name) 类似关系型数据库
    例如 hset 表名 id idvalue 只能存一个
    hmset 设置多个数据
    hmget id name
    hgetall key 得到集合
    hdel key 要删除的子属性
    -----------------------------------
    redistemplate
    需要redis。client 和 spring-data.redis包(这个是jpa吗)

    list 类型
    很重要的语法RpopLpush 一处最后一个元素 把最后一个元素添加到另一个列表
    通常要实现队列功能
    可以实现留言 粉丝 分页 热点新闻 关注列表等等
    ------------------------------------
    set
    sadd key member1(多个成员也ok)
    smember key 查询set集合 无序存储
    sismember key member 判断member是否存在集合中 可用于是否注册
    srandmember key[count] 返回集合中的多个随机数
    srem key member 删除hash元素
    计算并交叉 共同关注共同洗好 统计IP

    ZSET 不重复有序
    用于排行榜
    -------------
    Redis 发布订阅
    subscribe key 关注频道
    publish key message 发布消息
    即时聊天群聊功能 微信公众号
    ------多数据库管理-------------
    select 数据库
    move key 名称 数据库
    flushdb 清楚数据库key
    flushall 清楚所有数据库key
    -----事物----------
    watch 和unwatch
    用于商品秒杀 一组命令要不都被执行要不都不执行 中间不被打断
    -----数据淘汰策略
    持久化---

    RDB
    和aof 持久化 数据不会丢失占用硬盘
    ---------------数据库缓存和数据库保存一致 修改后怎么保持一致
    实时同步:
    更新缓存是先更新数据库再把缓存设置过期(建议不要个您缓存而是设置过期如果删除 可能导致雪崩多个人同时访问数据库--他就会直接查数据库)
    缓存雪崩
    缓存穿透
    @Cacheable 查询使用 Long需要转string
    @CachePut 更新使用
    @CacheEvict删除使用
    @Caching 组合使用
    --异步队列
    用kafka消息中间件

    3 主从复制使 用阿里canal

    {"userEmail":"12345678", "userName": "wei.hu "}

  • 相关阅读:
    053592
    053591
    053590
    053589
    053588
    053676
    C# WPF Border控件总结
    Android Studio 添加jar或aar依赖的两种方式
    javascript Date与string之间的转换
    C#:使用dsoframer.ocx控件实现内嵌office效果(详解)
  • 原文地址:https://www.cnblogs.com/xuexidememeda/p/12264394.html
Copyright © 2020-2023  润新知