zoukankan      html  css  js  c++  java
  • Redis 位操作

    Redis 位操作

    1、GETBIT key offset

    对 key 所储存的字符串值,获取指定偏移量上的位(bit)。

    当 offset 比字符串值的长度大,或者 key 不存在时,返回 0 。

    2、SETBIT key offset value

    对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。

    位的设置或清除取决于 value 参数,可以是 0 也可以是 1 。

    当 key 不存在时,自动生成一个新的字符串值。

    字符串会进行伸展(grown)以确保它可以将 value 保存在指定的偏移量上。当字符串值进行伸展时,空白位置以 0 填充。

    offset 参数必须大于或等于 0 ,小于 2^32 (bit 映射被限制在 512 MB 之内)。

    对使用大的 offset 的 SETBIT 操作来说,内存分配可能造成 Redis 服务器被阻塞。具体参考 SETRANGE 命令,warning(警告)部分。

    3、BITOP operation destkey key [key ...]

    对一个或多个保存二进制位的字符串 key 进行位元操作,并将结果保存到 destkey 上。

    operation 可以是 AND 、 OR 、 NOT 、 XOR 这四种操作中的任意一种:

    • BITOP AND destkey key [key ...] ,对一个或多个 key 求逻辑并,并将结果保存到 destkey 。
    • BITOP OR destkey key [key ...] ,对一个或多个 key 求逻辑或,并将结果保存到 destkey 。
    • BITOP XOR destkey key [key ...] ,对一个或多个 key 求逻辑异或,并将结果保存到 destkey 。
    • BITOP NOT destkey key ,对给定 key 求逻辑非,并将结果保存到 destkey 。

    除了 NOT 操作之外,其他操作都可以接受一个或多个 key 作为输入。

    4、BITOP operation destkey key [key ...]

    对一个或多个保存二进制位的字符串 key 进行位元操作,并将结果保存到 destkey 上。

    operation 可以是 AND 、 OR 、 NOT 、 XOR 这四种操作中的任意一种:

    • BITOP AND destkey key [key ...] ,对一个或多个 key 求逻辑并,并将结果保存到 destkey 。
    • BITOP OR destkey key [key ...] ,对一个或多个 key 求逻辑或,并将结果保存到 destkey 。
    • BITOP XOR destkey key [key ...] ,对一个或多个 key 求逻辑异或,并将结果保存到 destkey 。
    • BITOP NOT destkey key ,对给定 key 求逻辑非,并将结果保存到 destkey 。

    除了 NOT 操作之外,其他操作都可以接受一个或多个 key 作为输入。

    处理不同长度的字符串

    当 BITOP 处理不同长度的字符串时,较短的那个字符串所缺少的部分会被看作 0 。

    空的 key 也被看作是包含 0 的字符串序列。

    参考:http://redisdoc.com/index.html

  • 相关阅读:
    django之项目建立
    云监控服务比较
    2014 中华架构师大会 回顾
    计算字符串相似度算法——Levenshtein
    Maximum Likelihood 最大似然估计
    Laplacian eigenmap 拉普拉斯特征映射
    SparseLDA算法
    eigenvalues problem
    kernel function
    半监督学习[转]
  • 原文地址:https://www.cnblogs.com/tekkaman/p/4886003.html
Copyright © 2011-2022 走看看