• Redis:String字符串常用指令


    1.设置值

    set {key name} {value}  #设置值

    2.获得值

    get {key name}

    key *  #获取所有key

    3. expire {key name}  {时间常量}  #过期时间

     exists {key name} #显示值是否存在

    4.尾部追加

    append {key name}  #如果当前key不存在,就相当于set key

    5.获取值长度

    strlen {keyname}

    6.值增加/减命令

    incr #自增1  decr #减少  

    incr {key name} {value} 增加

    decr {key name} {value} 减少

    7.range 范围

    7.1 getrange 截取字符串(get range

    getrange {key name} {start} {end}  #起始位置和结束位置,当结束位置为-1时相当与get方法

     

    7.2 setrange 修改字符串(set range

    setrange {key name} {start} {value} #已什么起始位置基础去修改字符串

    8. setex (set with expire)  #设置过期时间  

    格式:setex {key name} {value} {时间常量}  

    例子:setc key1 nnn 20  #设置键名为key1值为nnn的数据过期时间是20(查看过期剩余时间用 ttl {key name}指令查看)

    9. setnx set if not exist   #不存在时在设置(在分布式锁中会常常使用)

    格式:setnx {key name} {value}

    注意:不存在时会return一个新版本号,失败则返回当前版本号如Integer 0

    10. mset  #批量设置值

    格式:mset {key name} {value} {key name} {value} {key name} {value} ~~~~

    11.mget  # 批量获取值

    格式:mget {key name} {key name} {key name} ~~~~

    注意:批量获取和设置操作是原子性操作,要么都成功,要么都失败

    12.对象属性设置

    格式1set {key name} {json格式}

    例子:127.0.0.1:6379> set user:1 {name:gou,age:18}  #设置一个keyuser:1的对象,vlauejson格式存储

    重点:在redis中设置key值时,允许要’ : ‘来设置树级结构

    也可以用批量设置的方式存储对象数据

    格式: mset user:3:name cl user:3:age:18

       mget user:3:name user:3:age]

    注意:两者的区别,格式1时以user1作为keyvalue都被json格式封装在里面

       格式2,就是按照批量处理的方式去getset的,只不过设置了树级(层级)结构了

    13.getset命令 #先get后set(更新操作)

    格式:getset {key name} {value}  #如果当前数据库没有指定的key那么就返回'nil'如果有就覆盖原有的值,相当于是一个更新的操作

    拓展:1.CAS,比较并交换,与getset相似,数据结构是相通的,无锁算法实现的同步,即是一个原子性的操作

       2.自旋锁,就是一个工作机制与cas相似的同步锁机制,即当一个线程获取锁时,该锁已经被其他锁占用了,那么当前线程会进入忙循环状态(相当于while循环),不断的去询问锁是否被释放,知道获取成功才会跳出循环状态; 

        

     

  • 相关阅读:
    [推荐系统]常见术语
    大表建索引
    mysql数据表设计
    导入导出的系统设计
    java系统设计 面试题
    工厂模式的实际运用
    系统对接的沟通与协作
    elastaticSearch(es) 面试题
    Redis面试题
    Kafka面试题
  • 原文地址:https://www.cnblogs.com/CL-King/p/14545727.html
Copyright © 2020-2023  润新知