华夏棋牌

目录 搜索
Cluster cluster addslots(集群 槽位) cluster count failure reports(集群计数掉落败申报) cluster countkeysinslot cluster delslots cluster failover cluster forget cluster getkeysinslot cluster info cluster keyslot(集群键槽) cluster meet cluster nodes(集群节点) cluster replicate(集群复制) cluster reset(集群重置) cluster saveconfig cluster set config epoch cluster setslot cluster slaves cluster slots readonly readwrite Connection auth echo ping quit select swapdb Geo geoadd geodist geohash geopos georadius georadiusbymember Hashes hdel hexists hget hgetall hincrby hincrbyfloat hkeys hlen hmget hmset hscan hset hsetnx hstrlen hvals HyperLogLog pfadd pfcount pfmerge Keys del dump exists expire expireat keys migrate move object persist pexpire pexpireat pttl randomkey rename renamenx restore scan sort touch ttl type unlink wait Lists blpop brpop brpoplpush lindex linsert llen lpop lpush lpushx lrange lrem lset ltrim rpop rpoplpush rpush rpushx Pub/Sub psubscribe publish pubsub punsubscribe subscribe unsubscribe Scripting eval evalsha script debug script exists script flush script kill script load Server bgrewriteaof bgsave client getname client kill client list client pause client reply client setname command command count command getkeys command info config get config resetstat config rewrite config set dbsize debug object debug segfault flushall flushdb info lastsave monitor role save shutdown slaveof slowlog time Sets sadd scard sdiff sdiffstore sinter sinterstore sismember smembers smove spop srandmember srem sscan sunion sunionstore Sorted Sets zadd zcard zcount zincrby zinterstore zlexcount zrange zrangebylex zrangebyscore zrank zrem zremrangebylex zremrangebyrank zremrangebyscore zrevrange zrevrangebylex zrevrangebyscore zrevrank zscan zscore zunionstore Strings append bitcount bitfield bitop bitpos decr decrby get getbit getrange getset incr incrby incrbyfloat mget mset msetnx psetex set setbit setex setnx setrange strlen Transactions discard exec multi unwatch watch
文字

BITCOUNT key [start end]

自2.6.0起可用。

时间严重年夜度: O(N)

盘算字符串中的设置位数(生齿计数)。

默许情形下,会检查字符串中网罗的一切字节。只能在转达附加参数 start end 的距离中指定计数操作。

与 GETRANGE 敕令类似,泉源和阻拦可以网罗负值,以便从字符串的末尾泉源索引字节,其中-1是最后一个字节,-2是倒数第二个字符,等等。

不存在的键被视为空字符串,是以该敕令将前往零。

前往值

整数回复

位数设置为1。

例子

redis>  SET mykey "foobar" "OK" redis>  BITCOUNT mykey (integer) 26 redis>  BITCOUNT mykey 0 0 (integer) 4 redis>  BITCOUNT mykey 1 1 (integer) 6

形式:应用位图的实时目的

位图是某些类型信息的异常节俭空间的体现。一个例子是须要用户会见历史纪录的 Web 应用法式模范模范,例如,可以一定哪些用户是测试版功效的优胜目的。

华夏棋牌应用 SETBIT 敕令可以很轻松地完成,天天用一个小渐进整数标识。例如,第0天是应用法式模范模范上线的第一天,第二天的第1天等等。

每次用户推行页面检查时,应用法式模范模范都可以在当天应用 SETBIT 敕令会见网站,并设置当天对应的位。

华夏棋牌稍后,知道用户会见网站的单天数目质朴地挪用 BITCOUNT 敕令对位图将是眇乎小哉的。

华夏棋牌在名为“ 应用Redis位图的快速简质朴时目的 ”的文章中简介了应用用户标识取代天数的类似形式。

性能推敲

在上述盘算日期的示例中,纵然10年后应用法式模范模范处于联机状态,我们依然只需365*10华夏棋牌每位用户的数据位,即每位用户只需456个字节。有了这个数据量,BITCOUNT 依然像任何其他O(1)Redis敕令一样快,如 GET 或 INCR 。

当位图很年夜时,有两种选择:

  • 接纳每次修改位图时划分的密钥。应用小型 Redis Lua 剧本,这可以异常高效而且原子化。

  • 应用 BITCOUNT 泉源阻拦华夏棋牌可选参数递增地运转位图,积累客户真个效果,并可选择将效果缓存到密钥中。

上一篇: 下一篇: