当前位置: 首页 > news >正文

建设网站平台哪里最好医院互联网网站建设

建设网站平台哪里最好,医院互联网网站建设,用python做音乐网站,html5模板网站5.Redis有序集合zset(sorted set) 本质就是在set的基础上#xff0c;每个val值前面加了一个score分数值。 #xff08;1#xff09;向有序集合中添加多个#xff08;或者一个#xff09;元素和其对应的分数 127.0.0.1:6379 zadd zset1 100 a 90 b 80 c 70 d 60 e (…5.Redis有序集合zset(sorted set) 本质就是在set的基础上每个val值前面加了一个score分数值。 1向有序集合中添加多个或者一个元素和其对应的分数 127.0.0.1:6379 zadd zset1 100 a 90 b 80 c 70 d 60 e (integer) 5 2按照元素的分数从小到大的顺序返回索引strat到stop之间所有的元素 命令zrange key start stop [withscores] 比如 127.0.0.1:6379 zrange zset1 0 -1 1) e 2) d 3) c 4) b 5) a 127.0.0.1:6379 zrange zset1 0 -1 withscores1) e2) 603) d4) 705) c6) 807) b8) 909) a 10) 100 3按分值从大到小返回有序集合中指定范围内的元素。 命令ZREVRANGE key start stop [WITHCORES] 127.0.0.1:6379 zrevrange zset1 0 -1 withscores1) a2) 1003) b4) 905) c6) 807) d8) 709) e 10) 60 4获取指定分数范围内的元素limit的作用是返回限制limit 开始下标 多少步 不包括 对应的命令zrangebyscore key min max[wthscores][limit offset count] 127.0.0.1:6379 zrangebyscore zset1 60 90 withscores limit 1 2 1) d 2) 70 3) c 4) 80 127.0.0.1:6379 zrangebyscore zset1 (60 90 withscores 1) d 2) 70 3) c 4) 80 5) b 6) 90 5zscore key member获取元素的分数 127.0.0.1:6379 zscore zset1 e 60 6zcard key获取集合中元素的数量 127.0.0.1:6379 zcard zset1 (integer) 5 7zrem key 某score下对应的value值作用是删除元素 127.0.0.1:6379 zrem zset1 e (integer) 1 127.0.0.1:6379 zrem zset1 e (integer) 0 127.0.0.1:6379 zrange zset1 0 -1 withscores 1) d 2) 70 3) c 4) 80 5) b 6) 90 7) a 8) 100 8zincrby key increment member增加某个元素的分数 127.0.0.1:6379 zincrby zset1 20 a 120 9zcount key min max获得指定分数范围内的元素个数 127.0.0.1:6379 zcount zset1 60 120 (integer) 4 10zmpop从键名列表中的第一个非空排序集中弹出一个或多个元素它们是成员分数对 127.0.0.1:6379 zmpop 1 zset1 min count 1 1) zset1 2) 1) 1) d2) 70 127.0.0.1:6379 zmpop 1 zset1 min count 2 1) zset1 2) 1) 1) c2) 802) 1) b2) 90 127.0.0.1:6379 zrange zset1 0 -1 withscores 1) a 2) 120 11zrank key values值作用是获得下标值 127.0.0.1:6379 zrank zset1 a (integer) 0 12zrevrank key values值作用是逆序获得下标值 127.0.0.1:6379 zrevrank zset1 a (integer) 0 6.Redis位图bitmap 说明用String类型作为底层数据结构实现的一种统计二值状态的数据类型位图本质是数组它是基于String数据类型的按位的操作。该数组由多个二进制位组成每个二进制位都对应一个偏移量(我们称之为一个索引)。 Bitmap支持的最大位数是2^32位它可以极大的节约存储空间使用512M内存就可以存储多达42.9亿的字节信息(2^32 4294967296)能干嘛? 用于状态统计 ,统计签到考勤打卡等。 1setbit key offset value setbit 键偏移位 只能零或者1 127.0.0.1:6379 setbit bit1 1 1 (integer) 0 127.0.0.1:6379 setbit bit1 2 1 (integer) 0 127.0.0.1:6379 setbit bit1 3 1 (integer) 0 bitmap的偏移量是从零开始算的2getbit key offset 127.0.0.1:6379 getbit bit1 2 (integer) 1 127.0.0.1:6379 getbit bit1 1 (integer) 1 3strlen统计字节数占用多少 127.0.0.1:6379 strlen bit1 (integer) 1 4bitcount 全部键里面含有1的有多少个 127.0.0.1:6379 bitcount bit1 (integer) 3 5bitop BITOP 命令支持的位元操作包括 AND与、OR或、XOR异或和 NOT非。这些操作可以对多个二进制位字符串进行位运算并将结果存储在目标键中。下面的k3就是目标键 使用案例 bitop的使用案例 统计20230101 和 20230102两天都签到的用户其中0和1都代表用户 127.0.0.1:6379 hset uid:map 0 tom (integer) 1 127.0.0.1:6379 hset uid:map 1 jack (integer) 1 127.0.0.1:6379 hgetall uid:map 1) 0 2) tom 3) 1 4) jack 127.0.0.1:6379 setbit 20230101 0 1 //用户0在20230101签到了 (integer) 0 127.0.0.1:6379 setbit 20230101 1 1 //用户1在20230101签到了 (integer) 0 127.0.0.1:6379 setbit 20230101 2 1 //用户2在20230101签到了 (integer) 0 127.0.0.1:6379 setbit 20230101 3 1 //用户3在20230101签到了 (integer) 0 127.0.0.1:6379 setbit 20230102 0 1 //用户0在20230102签到了 (integer) 0 127.0.0.1:6379 setbit 20230102 2 1 //用户2在20230102签到了 (integer) 0 127.0.0.1:6379 bitcount 20230101 (integer) 4 127.0.0.1:6379 bitcount 20230102 (integer) 2 127.0.0.1:6379 bitop and k3 20230101 20230102 (integer) 1 127.0.0.1:6379 bitcount k3 (integer) 2 7.Redis基数统计hyperloglog 作用统计某个网站的uv,统计某个文章的uv什么是uvuniquevisitor,独立访客一般理解为客户端ip需要去重考虑 比如用户搜索网站关键词的数量、统计用户每天搜索不同词条个数简介去重复统计功能的基数估计算法就是hyperloglog是一种数据集去重复后的真实个数基数统计 用于统计一个集合中不重复的元素个数就是对集合去重复后剩余元素的计算一句话 就是去重脱水后的真实数据 1pfadd key element [element...]添加指定元素到hyperloglog中。 127.0.0.1:6379 pfadd hll01 1 3 4 5 7 9 (integer) 1 127.0.0.1:6379 pfadd hll02 2 4 4 4 6 8 9 (integer) 1 2pfcount key [key...]返回给定hyperloglog的基数估算值。 127.0.0.1:6379 pfcount hll01 (integer) 6 127.0.0.1:6379 pfcount hll02 (integer) 5 3pfmerge destkey sourcekey [sourcekey...]将多个hyperloglog合并为一个hyperloglog 127.0.0.1:6379 pfmerge disresult hll01 hll02 OK 127.0.0.1:6379 pfcount disresult (integer) 9 注意Redis HyperLogLog redis在2.8.9版本添加了hypeloglog结构。Redis HyperLogLog是用来做基数统计的算法HyperLogLog的优点是在输入元素的数量或者体积非常非常大时计算基数所需的空间总是固定的并且是很小的 在Redis 里面每个HyperLogLog键只需要花费12kb内存就可以计算接近264个不同元素的基数。 这和计算基数时元素越多耗费内存就越多的集合形成鲜明对比。 但是因为HyperLogLog只会根据输入元素来计算基数而不会储存输入元素本身所以HyperLogLog不能像集合那样运回输入的各个元素。 不能获取到元素的值 127.0.0.1:6379 type hll01 string 127.0.0.1:6379 get hll01 HYLL\x01\x00\x00\x00\x06\x00\x00\x00\x00\x00\x00\x00A\xee\x84H#\x80SQ\x80Mt\x80L?\x80B\xd7\x80F\a 8.Redis地理空间geo 获取某地经纬度的链接 1geoadd key 经度 纬度 member 添加经纬度 127.0.0.1:6379 geoadd city 116.403963 39.915119 天安门 116.403963 39.915119 故宫 (integer) 2 2zrange key 0 -1  遍历经纬度 127.0.0.1:6379 type city zset 127.0.0.1:6379 zrange city 0 -1 1) \xe5\xa4\xa9\xe5\xae\x89\xe9\x97\xa8 2) \xe6\x95\x85\xe5\xae\xab 解决乱码的问题: 127.0.0.1:6379 quit [rootbogon myredis]# redis-cli -a 111111 --raw Warning: Using a password with -a or -u option on the command line interface may not be safe. 127.0.0.1:6379 zrange city 0 -1 天安门 故宫 3获取经纬度一个获取的是经纬度一个是base32编码的值 127.0.0.1:6379 geopos city 天安门 116.40396326780319214 39.91511970338637383 127.0.0.1:6379 geohash city 天安门 wx4g0f6f2v0 127.0.0.1:6379 geohash city 天安门 故宫 wx4g0f6f2v0 wx4g0f6f2v0 4geodist key member1 member2获取两地的距离 127.0.0.1:6379 geodist city 天安门 故宫 m 0.0000 5georadius 以给定的经纬度为中心 返回键包含的位置元素当中 与中心的距离不超过给定最大距离的所有位置元素 命令GEORADIUS city 116.418017 39.914402 10 km withdist withcoord count 10 withhash desc GEORADIUS city 116.418017 39.914402 10 km withdist withcoord withhash count 10 desc WITHDIST: 在返回位置元素的同时 将位置元素与中心之间的距离也一并返回。 距离的单位和用户给定的范围单位保持一致。WITHCOORD: 将位置元素的经度和维度也一并返回。WITHHASH: 以 52 位有符号整数的形式 返回位置元素经过原始 geohash 编码的有序集合分值。 这个选项主要用于底层应用或者调试 实际中的作用并不大COUNT 限定返回的记录数。 例 找出位于指定范围内的元素中心点的是由给定的位置的元素决定的 127.0.0.1:6379 georadius city 116.418017 39.914402 10 km withdist withcoord count 10 天安门 1.2016 116.40396326780319214 39.91511970338637383 故宫 1.2016 116.40396326780319214 39.91511970338637383 9.Redis流stream了解 专业的事情还要专业的人去做。redis做好缓存就行了。消息队列还是要其他的技术来实现。 127.0.0.1:6379 xadd mystream * id 1 name 张三 1716474731315-0 127.0.0.1:6379 xadd mystream * id 2 name 李四 1716474746890-0 127.0.0.1:6379 xrange mystream - 1) 1) 1716474731315-02) 1) id2) 13) name4) \xe5\xbc\xa0\xe4\xb8\x89 2) 1) 1716474746890-02) 1) id2) 23) name4) \xe6\x9d\x8e\xe5\x9b\x9b 127.0.0.1:6379 xrange mystream - count 1 1) 1) 1716474731315-02) 1) id2) 13) name4) \xe5\xbc\xa0\xe4\xb8\x89 127.0.0.1:6379 xrev mystream 1 (error) ERR unknown command xrev, with args beginning with: mystream 1 127.0.0.1:6379 xrevrange mystream 1 1) 1) 1716474746890-02) 1) id2) 23) name4) \xe6\x9d\x8e\xe5\x9b\x9b 2) 1) 1716474731315-02) 1) id2) 13) name4) \xe5\xbc\xa0\xe4\xb8\x89 127.0.0.1:6379 xdel mystream 1716474746890-0 (integer) 1 127.0.0.1:6379 xrange mystream - 1) 1) 1716474731315-02) 1) id2) 13) name4) \xe5\xbc\xa0\xe4\xb8\x89 127.0.0.1:6379 xlen mystream (integer) 1 127.0.0.1:6379 xadd mystream * id 3 name aaa 1716475078022-0 127.0.0.1:6379 xadd mystream * id 4 name bbb 1716475087575-0 127.0.0.1:6379 xrange mystream - 1) 1) 1716474731315-02) 1) id2) 13) name4) \xe5\xbc\xa0\xe4\xb8\x89 2) 1) 1716475078022-02) 1) id2) 33) name4) aaa 3) 1) 1716475087575-02) 1) id2) 43) name4) bbb 127.0.0.1:6379 xtrim mystream maxlen 2 (integer) 1 127.0.0.1:6379 xrange mystream - 1) 1) 1716475078022-02) 1) id2) 33) name4) aaa 2) 1) 1716475087575-02) 1) id2) 43) name4) bbb 127.0.0.1:6379 xtrim mystream minid 1716475078022-0 (integer) 0 127.0.0.1:6379 xrange mystream - 1) 1) 1716475078022-02) 1) id2) 33) name4) aaa 2) 1) 1716475087575-02) 1) id2) 43) name4) bbb 127.0.0.1:6379 xtrim mystream minid 1716475087575-0 (integer) 1 127.0.0.1:6379 xrange mystream - 1) 1) 1716475087575-02) 1) id2) 43) name4) bbb xread的使用 127.0.0.1:6379 xread count 2 streams mystream $ (nil) 127.0.0.1:6379 xread count 2 streams mystream 0-0 1) 1) mystream2) 1) 1) 1716475087575-02) 1) id2) 43) name4) bbb2) 1) 1716506602380-02) 1) id2) 33) name4) aaa 127.0.0.1:6379 xread count 4 streams mystream 0-0 1) 1) mystream2) 1) 1) 1716475087575-02) 1) id2) 43) name4) bbb2) 1) 1716506602380-02) 1) id2) 33) name4) aaa3) 1) 1716506887416-02) 1) id2) 53) name4) ccc4) 1) 1716506895152-02) 1) id2) 63) name4) ddd 阻塞 客户端1执行该命令。等待下一条消息 127.0.0.1:6379 xread count 1 block 0 streams mystream $ 客户端2添加消息 127.0.0.1:6379 xadd mystream * id 6 name jjj 1716507486434-0 客户端1获得消息 127.0.0.1:6379 xread count 1 block 0 streams mystream $ 1) 1) mystream2) 1) 1) 1716507486434-02) 1) id2) 63) name4) jjj (366.75s) 消费者相关的指令 1.xgroup create key 消费组的名称  id   id为$代表从尾部开始读     为0代表从头部开始读 创键消费者组 127.0.0.1:6379 xgroup create mystream groupB 0 OK 2.XREADGROUP GROUP groupName consumerName [COUNT number] [BLOCK ms] STREAMS streamName [stream …] id [id …]消费组读取消息 读取所有的消息 127.0.0.1:6379 XREADGROUP GROUP groupA consumer1 STREAMS mystream 1) 1) mystream2) 1) 1) 1716475087575-02) 1) id2) 43) name4) bbb2) 1) 1716506602380-02) 1) id2) 33) name4) aaa3) 1) 1716506887416-02) 1) id2) 53) name4) ccc4) 1) 1716506895152-02) 1) id2) 63) name4) ddd5) 1) 1716507486434-02) 1) id2) 63) name4) jjj 注意此时如果同一个消费组的消费者2再来读取消息就不会读取到任何的消息而其他的消费组可以读取消息 消费者2读取消息 127.0.0.1:6379 XREADGROUP GROUP groupA consumer2 STREAMS mystream (nil) groupB组读取消息 127.0.0.1:6379 xreadgroup group groupB consummer1 streams mystream 1) 1) mystream2) 1) 1) 1716475087575-02) 1) id2) 43) name4) bbb2) 1) 1716506602380-02) 1) id2) 33) name4) aaa3) 1) 1716506887416-02) 1) id2) 53) name4) ccc4) 1) 1716506895152-02) 1) id2) 63) name4) ddd5) 1) 1716507486434-02) 1) id2) 63) name4) jjj 但是消费组的目的是什么 让组内的多个消费者共同分担读取消息所以我们通常会让每个消费者读取部分消息从而实现消息读取负载在多个消费者间是均衡分布的 让消费组C每次读取一条消息 127.0.0.1:6379 xreadgroup group groupC consumer1 count 1 streams mystream 1) 1) mystream2) 1) 1) 1716475087575-02) 1) id2) 43) name4) bbb 127.0.0.1:6379 xreadgroup group groupC consumer2 count 1 streams mystream 1) 1) mystream2) 1) 1) 1716506602380-02) 1) id2) 33) name4) aaa 3xpending key group已读但是未确认 查看某个组已读未确认消息的清单 127.0.0.1:6379 xpending mystream groupC 1) (integer) 5 2) 1716475087575-0 最小的id 3) 1716507486434-0 最大的id 4) 1) 1) consumer12) 12) 1) consumer22) 13) 1) consumer32) 14) 1) consumer42) 15) 1) consumer52) 1 查看consumer2读了几条 127.0.0.1:6379 xpending mystream groupC - 10 consumer2 1) 1) 1716506602380-02) consumer23) (integer) 5141264) (integer) 1 4.xack key group id哪一条消息已签收 id为1716506602380-0的消息已签收 127.0.0.1:6379 xack mystream groupC 1716506602380-0 (integer) 1 再查看groupC中已读未签收的信息发现没有了consumer2 127.0.0.1:6379 xpending mystream groupC 1) (integer) 4 2) 1716475087575-0 3) 1716507486434-0 4) 1) 1) consumer12) 12) 1) consumer32) 13) 1) consumer42) 14) 1) consumer52) 1 5.xinfo stream key打印stream/group/consumer的详细信息 127.0.0.1:6379 xinfo stream mystream1) length2) (integer) 53) radix-tree-keys4) (integer) 15) radix-tree-nodes6) (integer) 27) last-generated-id8) 1716507486434-09) max-deleted-entry-id 10) 1716474746890-0 11) entries-added 12) (integer) 8 13) recorded-first-entry-id 14) 1716475087575-0 15) groups 16) (integer) 3 17) first-entry 18) 1) 1716475087575-02) 1) id2) 43) name4) bbb 19) last-entry 20) 1) 1716507486434-02) 1) id2) 63) name4) jjj 10.redis位域bitfield略 了解即可略
http://www.zqtcl.cn/news/489184/

相关文章:

  • o2o网站设计方案高端定制网站开发设计建站流程
  • 杭州建设公司网站石家庄做网站比较好的公司
  • 英文网站支付怎么做产品做推广都有那些网站
  • 自己做的网站怎么加入微信支付综合性门户网站列举
  • 哪个网站 可以做快递单录入网站怎么做抽奖
  • 网站设计培训班网站域名费用怎么做分录
  • 济南做网站哪里好惠州附近公司做网站建设多少钱
  • 使用oss做静态网站网站广告牌制作教程
  • 外贸看的英文网站公众号模板编辑器
  • 做网站的数据库的步骤阅读网站模板下载
  • 建设网站要钱吗个人养老金制度是什么意思
  • 做h5的网站页面设计软文素材网站
  • 黄冈网站推广软件费用是多少手机网站弹出层插件有哪些
  • wordpress文章链接怎么改怎么优化关键词排名优化
  • 专业做包包的网站好产品网站做营销推广
  • 网站刚建好怎么做能让百度收录湖北黄石网站建设
  • 网站建设拾金手指下拉二一wordpress 插件破解
  • 天津做网站外包公司有哪些美橙互联网站
  • 石家庄网站建设蓝点办公室装修工程
  • 申请网站空间就是申请域名建设机械网站咨询
  • 做美食网站有哪些网站怎么做自响应
  • 衡水网站建设维护宝安官网网站建设比较好的
  • 网站建设的审批重庆建设工程信息网30系统
  • 泉州软件开发培训机构怎么做网站内部链接的优化
  • 网站定位是什么中国it外包公司排名
  • 洛阳微信平台网站建设网站成功案例分析
  • 网站建设在淘宝怎么分类深圳软件开发招聘信息
  • .net如何做网站个人网站的制作
  • 网站优化排名推广站长统计官方网站
  • 长沙wap网站建设wordpress 用户 函数