• Redis之Strings


    Redis之Strings

    1、set、get、setex、setnx

    set:设置一个key的value值。
    get:获取一个key的value值。
    setex:设置一个key的value值,并指定失效时间。
    setnx:当key不存在的时候,设置一个key的value值。key存在设置失败。

    2、setbit、getbit

    setbit:设置key的value(string)在offset处的bit值。
    getbit:返回key对应的string在offset处的bit值。
    
    比如我们要设置一个'h'字符,首先得到对应的二进制为01101000,我们只需要设置二进制位为1的位即可。相应的字符'e'
    的设置方式也一样。 设置完成后,通过get命令即可获取到这个key的value值,通过getbit可以得到key对应的string在offset处的bit值。

    3、bitcount、bitpos

    bitcount:统计字符串被设置为1的bit数 

    bitpos:返回字符串里面第一个被设置为1或者0的bit位

    bitpos可以指定start和end范围进行查找。
    比如hello的二进制为01101000 01100101 01101100 01101100 01101111

    获取hello第一个被设置为0的bit位

    获取hello第一个被设置为1的bit位

    从第三个字符开始,获取hello第一个被设置为0的bit位

    从第三个字符开始,获取hello第一个被设置为1的bit位

    4、BITFIELD

    bitfield有三个子指令:get、set、incrby。

    hello对应的位为

    从第一个位开始取4个位,结果是无符号数

    从第三个位开始取3个位,结果是无符号数

    从第一个位开始取4个数,结果是有符号数

    从第三个位开始取3个位,结果是有符号数

    incrby

    用来对指定范围的位进行自增操作。 如果增加了正数,就会出现向上溢出。如果增加了负数,就会出现向下溢出。Redis默认处理方式是折返。如果出现了溢出,就将溢出的符号位丢掉。如果是8位无符号数 255(11111111),溢出后就会变成0。如果是8位有符号数127(01111111),溢出后就会变 成-128

    hello对应的位为

    bitfield指令提供了溢出策略子指令overflow。有下面三种 

    • 折返(wrap)。
    • 失败(fail):报错不执行。
    • 饱和截断(sat):超过了范围就停留在最大值或者最小值。

    失败(fail)

    饱和截断(sat)

     

  • 相关阅读:
    今天辞职了
    数据库导出Excel
    2009.5重庆之行(二),5.23
    SQL远程连接操作
    上周入手WD500GB笔记本硬盘,上图
    [测试]Gridview绑定SqlDataReader+IList<T>和SqlDataAdapter+DataSet的效率
    SQL处理表重复记录(查询和删除)
    数据库导出excel (二)
    写了一个简单的手机号码正则
    SET XACT_ABORT 与 SET NOCOUNT的语法
  • 原文地址:https://www.cnblogs.com/beanbag/p/13621093.html
Copyright © 2020-2023  润新知