• Redis系统学习之五大基本数据类型(String(字符串))


    String(字符串)

    存入值

    • set key value
    • image

    获取值

    • get key
    • image

    追加值(如果key不存在,相对于新建set)

    • append key value
    • image

    查看长度

    • strlen key
    • image

    实现计数器(浏览量,播放量可以存redis,最后持久化到Mysql)

    • 累加
      • incr key
    • 累减
      • decr key
    • image
    • 设置带步长的累加和累减
    • incrby key number || decrby key number
    • image

    截取字符窜

    • getrange key startindex endindex
    • 如果是-1,找不到就是全部的
    • image

    替换字符串

    • setrange key startindex value
    • startindex 从哪个下标开始替换 根据value的值决定替换几个字符
    • image

    设置过期时间

    • setex(set with expire)
    • setex key seconds value
      • 设置30秒过期
      • image

    不存在再设置(分布式锁)

    • setnx(set if not exists)
    • setnx key value
      • 返回1代表设置成功,返回0代表设置失败,只有删除后,才可以重新设置
      • image

    批量设值和批量取值

    • mset key value[k v循环,空格切分]
    • mget key[k循环,空格切分]
      • image

    批量设值nx(原子的)

    • msetnx key value[k v循环,空格切分]
      • 一个失败全部失败
      • image
    • 没有mgetnx

    先获取再设值

    • getset key value
    • 第一次没有,获取到是空的,并且把redis设值到db key->第二次是获取到redis并把Mongodb设值到db key
    • image

    使用场景:

    • value除了可以是字符串之外也可以是数字
    • 常用的计数器,浏览量等都可以采用string来做
    • 对象JSON存储
    • 案例
      • 设计用户的粉丝数量,关注数量,浏览数量
      • uid:382893:粉丝数量 0 有人关注后就 incr 有人取关就 decr
      • uid:382893:关注数量 0
      • uid:382893:浏览数量 0
      • 每隔一段时间可以持久化到Mysql

    作者:彼岸舞

    时间:202155

    内容关于:Redis

    本文属于作者原创,未经允许,禁止转发

  • 相关阅读:
    Axure Base 10 动态面板滑动效果
    算法分析----第一节
    使用切片拦截Rest服务
    Java中Memcache的使用
    activitemq与spring的整合
    Android的Fragment中的互相通信-桥梁activity
    Android模拟微信主页面的Demo
    Android动态添加Fragment
    Android的Fragment的第一种声明方式
    Android使用内容提供者实现增删改查操作
  • 原文地址:https://www.cnblogs.com/flower-dance/p/14731088.html
Copyright © 2020-2023  润新知