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

网站建设需要多少钱费用北京国贸网站建设

网站建设需要多少钱费用,北京国贸网站建设,企业专属空间官网,济宁苍南网站建设华子目录 Hash结构图相关命令hexists key fieldhmset key field1 value1 [field2 value2...]hscan key cursor [MATCH pattern] [COUNT count] Bitmaps位图相关命令setbit1. **命令描述**2. **语法**3. **参数限制**4. **内存分配与性能**5. **应用实例**6. **其他相关命令**7.… 华子目录 Hash结构图相关命令hexists key fieldhmset key field1 value1 [field2 value2...]hscan key cursor [MATCH pattern] [COUNT count] Bitmaps位图相关命令setbit1. **命令描述**2. **语法**3. **参数限制**4. **内存分配与性能**5. **应用实例**6. **其他相关命令**7. **总结**例子 getbit1. 命令描述2. 语法3. 返回值说明4. 参数限制5. 内存分配与性能6. 应用实例7. 注意事项8. 关联命令9. 总结示例 bitcount1. 命令描述2. 语法3. 返回值说明4. 参数限制5. 内存分配与性能6. 应用实例7. 注意事项8. 关联命令9. 总结示例 bitop1. 语法2. 参数说明3. 返回值4. 注意事项5. 示例6. 性能考虑7. 总结 Hash Redis hash 是一个 string 类型的 field 和 value 的映射表hash 特别适合用于存储对象。Redis 中每个 hash 可以存储 2^32^ - 1 键值对40多亿。Hash类型一般用于存储用户信息、用户主页访问量、组合查询等。 结构图 相关命令 命令说明hset key field1 value1 [field2 value2...]将哈希表 key 中的字段 field 的值设为 valuehget key field获取存储在哈希表中指定字段的值hgetall key获取在哈希表中指定 key 的所有字段和值hexists key field查看哈希表 key 中指定的字段是否存在存在返回1不存在返回0hsetnx key field value只有在字段 field 不存在时设置哈希表字段的值hkeys key获取所有哈希表中的字段hvals key获取哈希表中所有值hlen key获取哈希表中字段的数量hmget key field1 [field2...]获取所有给定字段的值hmset key field1 value1 [field2 value2...]同时将多个 field-value (域-值)对设置到哈希表 key 中hincrby key field increment为哈希表 key 中的指定字段的整数值加上增量 incrementhincrbyfloat key field increment为哈希表 key 中的指定字段的浮点数值加上增量 incrementhdel key field1 [field2...]删除一个或多个哈希表字段hscan key cursor [MATCH pattern] [COUNT count]迭代哈希表中的键值对 hexists key field HEXISTS命令是Redis数据库中用于检查哈希表Hash中指定字段field是否存在的命令。以下是关于HEXISTS命令的详细解释 命令语法 HEXISTS key field其中key 是哈希表的键名field 是哈希表中的字段名。 返回值 如果哈希表含有给定的字段则返回整数 1。如果哈希表不含有给定的字段或者键不存在则返回整数 0。 hmset key field1 value1 [field2 value2...] HMSET 是 Redis 中的一个命令用于在哈希表中设置多个字段和对应的值。这个命令在 Redis 2.6.0 版本及以后的版本中可用但在 Redis 4.0.0 版本之后它已经被 HSET 命令的多字段/多值语法所取代。尽管 HMSET 仍然存在于许多 Redis 环境中但推荐使用 HSET 的新语法。 以下是 HMSET 的用法 HMSET key field1 value1 field2 value2 ... fieldN valueN这里是一个例子 HMSET user:1000 username alice password secret123 email aliceexample.com在这个例子中我们在哈希表 user:1000 中设置了三个字段username、password 和 email以及它们对应的值。 然而从 Redis 4.0.0 开始你可以使用 HSET 命令的扩展语法来达到相同的效果 HSET key field1 value1 field2 value2 ... fieldN valueN所以上面的 HMSET 例子可以用 HSET 写成 HSET user:1000 username alice password secret123 email aliceexample.com在大多数情况下你应该使用 HSET 的新语法因为它更加通用和灵活。但是如果你正在维护一个使用 HMSET 的旧系统那么了解 HMSET 的用法仍然是有用的。 hscan key cursor [MATCH pattern] [COUNT count] HSCAN 是 Redis 中用于迭代哈希表Hash键的命令。当哈希表非常大无法一次性加载到客户端时你可以使用 HSCAN 命令来逐步迭代哈希表中的数据。 以下是 HSCAN 命令的基本语法和参数说明 HSCAN key cursor [MATCH pattern] [COUNT count]参数说明 key哈希表的键名。cursor游标初始值通常为 0表示开始迭代。在后续的迭代中你将使用上一次迭代返回的游标作为参数。MATCH pattern可选一个可选的模式字符串用于过滤返回的字段。只有匹配该模式的字段才会被返回。COUNT count可选一个可选的数字表示每次迭代返回的字段的最大数量。这个值只是一个提示Redis 可能会返回更多或更少的字段。 HSCAN 命令会返回一个包含两个元素的数组 新的游标值用于下一次迭代。一个包含字段-值对的数组。 当所有字段都被迭代后新的游标值将是 0。 以下是一个使用 HSCAN 命令的示例 # 第一次迭代游标为 0 127.0.0.1:6379 HSCAN myhash 0 1) 0 # 新的游标值 2) 1) field12) value13) field24) value2# 假设我们只对以 field 开头的字段感兴趣并希望每次迭代返回 1 个字段 127.0.0.1:6379 HSCAN myhash 0 MATCH field* COUNT 1 1) 0 # 注意新的游标值可能是 0也可能是其他值取决于哈希表的结构和 COUNT 参数 2) 1) field12) value1# 使用新的游标值继续迭代 127.0.0.1:6379 HSCAN myhash new_cursor_value MATCH field* COUNT 1 ...请注意HSCAN 命令是非阻塞的并且可以在迭代过程中修改哈希表。但是在迭代过程中添加的新字段可能不会被立即返回因为它们可能出现在当前游标的“后面”。同样在迭代过程中删除的字段也可能仍然被返回因为它们是在游标指向它们之前存在的。 Bitmaps位图 现代计算机用二进制位 作为信息的基础单位 1个字节等于8位 例如“abc”字符串是由3个字节组成 但实际在计算机存储时将其用二进制表示 “abc”分别对应的ASCII码分别是97、 98、 99 对应的二进制分别是01100001、 01100010和01100011如下图 合理地使用操作位能够有效地提高内存使用率和开发效率。 Redis 6 中提供了 Bitmaps 这个“数据类型”可以实现对位的操作 Bitmaps本身不是一种数据类型实际上它就是字符串key-value但是它可以对字符串的位进行操作。Bitmaps单独提供了一套命令所以在Redis中使用Bitmaps和使用字符串的方法不太相同。 可以把Bitmaps想象成一个以位为单位的数组 数组的每个单元只能存储0和1 数组的下标在Bitmaps中叫做偏移量。 相关命令 setbit SETBIT 是 Redis 数据库中的一个命令用于设置指定 key 所储存的字符串值中指定偏移量上的位bit。以下是对 SETBIT 命令的详细解释 1. 命令描述 功能对 key 所储存的字符串值设置或清除指定偏移量上的位bit。节省空间由于 8 个 bit 可以组成一个 Byte使用 bitmap 可以极大地节省存储空间。 2. 语法 SETBIT key offset valuekey要操作的字符串键。offset要设置的位的位置。位的位置从 0 开始计数。value要设置的值只能是 0 或 1。 3. 参数限制 offset 的限制offset 参数必须大于或等于 0小于 2^32bit 映射被限制在 512 MB 之内。Redis 字符串大小限制Redis 字符串的大小被限制在 512 兆megabytes以内所以用户能够使用的最大偏移量为 2^29-1536870911。如果需要更大的空间请使用多个 key。 4. 内存分配与性能 当生成一个很长的字符串时Redis 需要分配内存空间该操作有时候可能会造成服务器阻塞。例如在 2010 年出产的 Macbook Pro 上设置偏移量为 536870911512MB 内存分配将耗费约 300 毫秒。 5. 应用实例 如果键 mykey 的初始值是字符串 “foobar”使用 SETBIT mykey 2 1 命令后键 mykey 的值将变为 “oba1r”因为字符串的索引是从 0 开始的所以第 2 个位置对应的是字符 ‘o’ 的第二个 bit。 6. 其他相关命令 GETBIT用于获取指定 key 的字符串值中指定偏移量上的位的值0 或 1。 7. 总结 SETBIT 命令提供了一种在 Redis 中进行精确位操作的方式可以在节省存储空间的同时进行高效的位设置和清除操作。这在一些需要频繁进行位操作的场景中如实时统计、状态标记等具有非常重要的应用价值。 例子 例如把每个独立用户是否访问过网站存放在Bitmaps中 将访问的用户记做1没有访问的用户记做0用户的id作为偏移量。设置键的第offset个位的值从0算起 假设现在有20个用户userid16111519的用户对网站进行了访问 那么当前Bitmaps初始化结果如图下面示例是代表 2022-07-18 这天的独立访问用户的Bitmaps 127.0.0.1:6379 setbit unique:users:20220718 1 1127.0.0.1:6379 setbit unique:users:20220718 6 1127.0.0.1:6379 setbit unique:users:20220718 11 1127.0.0.1:6379 setbit unique:users:20220718 15 1127.0.0.1:6379 setbit unique:users:20220718 19 1注意 很多应用的用户id以一个指定数字例如10000 开头 直接将用户id和Bitmaps的偏移量对应势必会造成一定的浪费 通常的做法是每次做setbit操作时将用户id减去这个指定数字。在第一次初始化Bitmaps时 假如偏移量非常大 那么整个初始化过程执行会比较慢 可能会造成Redis的阻塞。 getbit GETBIT 是 Redis 数据库中的一个命令用于获取指定 key 所储存的字符串值中指定偏移量上的位bit的值。以下是关于 GETBIT 命令的详细解释 1. 命令描述 功能对 key 所储存的字符串值获取指定偏移量上的位bit的值。返回值返回指定偏移量上的位的值该值只能是 0 或 1。 2. 语法 GETBIT key offsetkey要操作的字符串键。offset要获取的位的位置。位的位置从 0 开始计数。 3. 返回值说明 如果 key 不存在或者 offset 超出了字符串值的长度GETBIT 命令将返回 0。否则返回指定偏移量上的位的值该值只能是 0 或 1。 4. 参数限制 offset 的限制offset 参数必须大于或等于 0小于 2^32因为 Redis 的字符串最大长度为 512 MB所以位映射被限制在这个范围内。 5. 内存分配与性能 由于 GETBIT 只是简单地读取字符串中指定位置的位所以其性能通常非常高不需要额外的内存分配。 6. 应用实例 假设有一个 key 名为 flags其存储的字符串值为二进制表示 “10101”对应十进制中的 21。执行 GETBIT flags 1 将返回 0因为从右往左数即从低位到高位第二个位是 0。 7. 注意事项 当使用 GETBIT 时需要注意 offset 是否在有效范围内以避免获取到错误的值。如果想要设置或修改指定偏移量上的位的值应该使用 SETBIT 命令。 8. 关联命令 SETBIT用于设置指定 key 所储存的字符串值中指定偏移量上的位的值。 9. 总结 GETBIT 是一个高效且灵活的 Redis 命令它允许开发者在不牺牲太多存储空间的前提下实现精细的位级操作。这种能力在需要记录大量二进制状态信息或进行实时统计等场景中特别有用。 示例 获取键的第offset位的值从0开始算。例如获取id6的用户是否在2022-07-18这天访问过 返回0说明没有访问过 127.0.0.1:6379 getbit unique:users:20220718 6 127.0.0.1:6379 getbit unique:users:20220718 7bitcount BITCOUNT 是 Redis 数据库中的一个命令用于计算给定字符串中设置为 1 的位的数量。这个命令在处理位图bitmap或二进制数据时特别有用因为它提供了一种快速计算二进制数据中特定位模式数量的方法。 1. 命令描述 功能计算指定 key 所储存的字符串值中设置为 1 的位的数量。返回值返回字符串中设置为 1 的位的数量。 2. 语法 BITCOUNT key [start] [end]key要操作的字符串键。start可选计算的起始偏移量。end可选计算的结束偏移量。 如果指定了 start 和 end 参数BITCOUNT 命令将只计算从 start 到 end包括 end之间包括边界的位。如果省略了 start 和 end那么将计算整个字符串。 3. 返回值说明 返回字符串中设置为 1 的位的数量。 4. 参数限制 start 和 end 的限制start 和 end 必须是非负整数且 end 必须大于或等于 start。它们指定了计算位的范围。 5. 内存分配与性能 BITCOUNT 命令的性能通常取决于字符串的长度和计算机硬件的性能。对于较长的字符串该命令可能需要一些时间来计算。但是由于 Redis 的内部优化这个命令通常比使用其他编程语言或工具来手动计算要快得多。 6. 应用实例 假设有一个 key 名为 user_visits其存储的字符串值为二进制表示 “10101”对应十进制中的 21。执行 BITCOUNT user_visits 将返回 3因为字符串中有 3 个位被设置为 1。如果想要计算从第 2 个位到第 4 个位之间包括边界设置为 1 的位的数量可以执行 BITCOUNT user_visits 1 3。在这个例子中由于只有第 2 个位被设置为 1所以将返回 1。 7. 注意事项 当使用 BITCOUNT 时需要注意 start 和 end 是否在有效范围内以避免计算到错误的位。如果 key 不存在BITCOUNT 将返回 0。 8. 关联命令 SETBIT用于设置指定 key 所储存的字符串值中指定偏移量上的位的值。GETBIT用于获取指定 key 所储存的字符串值中指定偏移量上的位的值。 9. 总结 BITCOUNT 是一个强大的 Redis 命令它允许开发者快速地计算二进制数据中特定位模式的数量。这种能力在多种场景中都非常有用例如统计用户访问频率、记录在线用户状态等。 示例 用于统计字符串从start字节到end字节比特值为1的数量。例如统计id在第1个字节到第3个字节之间的独立访问用户数 对应的用户id是11 15 19。 127.0.0.1:6379 bitcount unique:users:20220718 1 3bitop BITOP是Redis中用于执行位操作的命令它允许用户对一个或多个键key的值进行位运算并将结果存储在另一个键中。BITOP命令在处理位图Bitmap数据结构时特别有用它提供了一种高效的方式来执行常见的位运算操作如AND与、OR或、NOT非和XOR异或等。 以下是BITOP命令的详细介绍 1. 语法 BITOP operation destkey key [key ...]operation要执行的位运算操作可以是AND、OR、NOT或XOR。destkey存储运算结果的键名。key要进行位运算的键名可以是一个或多个。 2. 参数说明 operation指定要执行的位运算类型。 AND对所有key的值执行位与运算。OR对所有key的值执行位或运算。NOT仅对一个key的值执行位非运算注意NOT操作时key只能有一个。XOR对所有key的值执行位异或运算。 destkey用于存储运算结果的键名。key要进行位运算的键名列表。对于NOT操作只需要一个key对于其他操作可以指定一个或多个key。 3. 返回值 BITOP命令返回保存到destkey的字符串的长度这个长度与输入key中最长的字符串长度相等。 4. 注意事项 当处理不同长度的字符串时较短的字符串所缺少的部分会被视为0。空的key也被视为包含0的字符串序列。NOT操作只能对一个key执行。 5. 示例 假设我们有以下三个key及其对应的值以二进制表示 key1: 1010key2: 1100key3: 0011 执行以下BITOP命令 BITOP AND result key1 key2将key1和key2进行位与运算结果存储在result中result的值为1000即十进制的8。BITOP OR result key1 key2 key3将key1、key2和key3进行位或运算结果存储在result中result的值为1111即十进制的15。BITOP NOT result key1对key1进行位非运算结果存储在result中result的值为0101即十进制的5。BITOP XOR result key1 key2将key1和key2进行位异或运算结果存储在result中result的值为0110即十进制的6。 6. 性能考虑 BITOP命令的时间复杂度是O(N)其中N是位图包含的二进制位数量。在处理长字符串时该命令可能需要一些时间来完成计算。因此在处理实时指标和统计时涉及大输入时需要注意效率问题。可以使用bit-wise操作来避免阻塞主实例。 7. 总结 BITOP是Redis中用于执行位操作的强大命令它允许用户高效地处理位图数据结构并执行常见的位运算操作。通过合理使用BITOP命令可以优化数据存储和查询性能实现更高效的数据处理和分析。
http://www.pierceye.com/news/183472/

相关文章:

  • 平面素材设计网站东莞房价2023年最新房价走势
  • 做一个网站建设需要多少钱天津企业网站排名优化
  • 有关网站开发的论文网站建设哪公司
  • wordpress网站500导航 网站 分析
  • 软件网站开发市场前景试论述网上商城的推广技巧
  • 海洋生态文明建设的网站名廊坊网站建设电话
  • 做外贸在哪个网站比较好视频网站搭建源码
  • 网站代码优化视频教程动画制作专业大学排名
  • 安阳网站推广优化网站导航条背景图片
  • 静态网站需要数据库吗广州近期流行的传染病
  • 如何做国外的网站页面设计感想
  • 征婚网站认识的男人做定投保wordpress 中文 cms
  • 淄博百度网站建设上虞网站建设哪家好
  • 网站菜单导航怎么做的网站没有备案怎么做支付
  • wordpress主题小程序如何做优化排名
  • 中企动力做网站费用多个域名 指向同一个网站
  • 怎么搭建小程序平台网站营销优化
  • 建设网站员工招聘策划方案软件开发的八个步骤
  • 怎样做cms电影网站赚钱网络营销需要学什么
  • wordpress快速仿站视频教程没有备案的网站会怎么样
  • 美团先做网站还是app惠州惠阳网站建设
  • 可以更改上传到网站的文件内容吗信用 网站 建设方案
  • 获奖设计网站公司制作网站价格表
  • 做单页免费模板网站我是做推广的怎么找客户
  • 企业网站建设的缺点网络营销最基本的应用方式是什么
  • 做cpa推广用哪种网站好上海h5网站开发
  • 怎样做免费网站推广怎么申请二级域名
  • 站长之家源码之家虚拟空间官网
  • 网站建设推荐书籍装修公司装修房子
  • 上海专业微信网站开发公司怎么做seo