• Redis基本操作-string


    Redis的5种数据结构:string、list、hash、set和zset;
    Redis 所有的数据结构都是以唯一的 key 字符串作为名称,然后通过这个唯一 key 值来获取相应的 value 数据。不同类型的数据结构的差异就在于 value 的结构不一样。

    基本操作

    1、string表示的是一个可变的字节数组;
    2、Redis的字符串时动态字符串,是可以修改的;
    3、内部结构实现上类似与Java的ArrayList,用预分配冗余空间的方式来减少内存的频繁分配;
    4、字符串长度小于1M时,扩容都是加倍现有的空间;
    5、长度大于1M时,扩容时指挥多扩1M的空间;
    6、字符串最大长度为512M;
    7、字符串没有提供子串插入和子串删除方法;

    # 初始化字符串(set 键 值)
    localhost:0>set muscleape com.muscleape.www
    "OK"
    # 获取字符串内容(get 键)
    localhost:0>get muscleape
    "com.muscleape.www"
    # 获取字符串的长度(strlen 键)
    localhost:0>strlen muscleape
    "17"
    # 获取子串(getrange 键 开始下标 结束下标)
    localhost:0>getrange muscleape 4 12
    "muscleape"
    # 覆盖子串(setrange 键 开始位置 替换串)
    localhost:0>setrange muscleape 4 wzqwzqwzq
    "17"
    localhost:0>get muscleape
    "com.wzqwzqwzq.www"
    # 追加子串(append 键 子串)
    localhost:0>append muscleape .wzq
    "21"
    localhost:0>get muscleape
    "com.wzqwzqwzq.www.wzq"
    

    计数器

    1、如果字符串的内容是一个整数,可以将字符串当做计数器来使用;

    # 初始化
    localhost:0>set muscleape 59
    "OK"
    # 获取值
    localhost:0>get muscleape
    "59"
    # 增加(incrby 键 增加数值)
    localhost:0>incrby muscleape 200
    "259"
    # 获取值
    localhost:0>get muscleape
    "259"
    # 减少(decrby 键 减少数值)
    localhost:0>decrby muscleape 200
    "59"
    # 获取值
    localhost:0>get muscleape
    "59"
    # 增加1(incr 键)=> 等价于 => incrby 键 1
    localhost:0>incr muscleape
    "60"
    # 减小1(decr 键)=> 等价于 => decrby 键 1
    localhost:0>decr muscleape
    "59"
    

    2、计数器是有范围的,不能超过Long.Max,不能低于Long.MIN

    localhost:0>set muscleape 9223372036854775807
    "OK"
    localhost:0>incr muscleape
    "ERR increment or decrement would overflow"
    # #####################################
    localhost:0>set muscleape -9223372036854775808
    "OK"
    localhost:0>decr muscleape
    "ERR increment or decrement would overflow"
    

    删除和过期

    字符串可以使用del指令进行主动删除,可以使用expire指令设置过期时间,到点会自动删除,这属于被动删除。可以使用ttl指令获取字符串的寿命;

    # 设置过期时间(expire 键 有效秒数);1表示设置成功,0表示变量ireader不存在
    localhost:0>expire muscleape 60
    "1"
    # 查询寿命(ttl 键); 还有55秒的寿命,返回-2表示变量不存在,-1表示没有设置过期时间
    localhost:0>ttl muscleape
    "55"
    # 删除(del 键)删除成功返回1
    localhost:0>del muscleape
    "1"
    localhost:0>get muscleape
    null
    
  • 相关阅读:
    使用pod install 出现bad interpreter: No such file or directory
    简单易用且功能丰富的纯Swift下载框架
    Swift主题色顶级解决方案一
    如何基于WKWebView开发一个功能完善的资讯内容页
    关于iPhone X 的适配
    iOS11及Xcode9适配问题汇总
    优豆云
    Mac 网站屏蔽修改
    c语言
    iOS 12 前台通知shouldAlwaysAlertWhileAppIsForeground崩溃问题
  • 原文地址:https://www.cnblogs.com/muscleape/p/9956775.html
Copyright © 2020-2023  润新知