zoukankan      html  css  js  c++  java
  • Redis的特殊数据类型

    1. BitMap(Redis2.2版本之后)

      内部编码为二进制字符串

      1. 命令:setbit key offset value

      offset 必须是数字代表坐标,从0开始计数;value只能为0或1

      底层初始化一个全为0的字符串(默认32位),根据offset的将对应位置的值更改为value,用于保存二进制

      2. 命令:bitcount key

      统计key下所有非0的个数

      3. 命令:bitop and target source1 source2(Redis2.6.0版本之后)

      对source1和source2做与操作,若两者长度不等,缺少部分自动补零,生成新键target

      优点:数据结构简单,占用内存很少,操作速度快。譬如以用户id作为offset,当访问过本网站,对应的value设置为1,存储一亿个用户的访问数据,消耗内存12.5M

    2.  HyperLogLog(Redis2.8版本之后)

      内部编码分为稀疏型和密集型

      1. 命令:pfadd key value

      插入键值,如果插入成功(对应键的值没有重复)返回1,否则返回0

      2. 命令 pfcount key

      统计指定key下,对应值的个数

      3. 命令 pfmerge target source1 source2

      合并source1和source2代表的键值对,会对结果去重,生成新的键target。

      用途:记录网站IP的注册数,每日访问的IP数,在线用户人数

      缺点:只能看到统计信息,无法看到值对象

    3. Geospatial(Redis3.2版本之后)

      用来保存地理位置,计算距离或者根据半径计算位置。基于Sorted Set

      1. 命令:GEOADD key 经度 维度 地名

      把具体的位置存到指定的key

      2. 命令:ZRANG key 0 -1

      查询第一个到倒数第一个元素

      3. 命令 GEODIST key 地名1 地名2 单位(m/km)

      查看地名1和地名2之间的距离

      4. 命令 GEOPOS key 地名

      查看指定地名的经纬度

      5. 命令 GEORADIUS key 经度 维度 范围距离 单位

      查看指定经纬度一定范围内能找到的地点

      6. 命令 GEORADIUSBYMEMBER key 地名 范围距离 单位

      查看指定地名一定范围内能找到的地点

      

    人生就像蒲公英,看似自由,其实身不由己。
  • 相关阅读:
    50.Ext_数字输入框_Ext.form.NumberField
    49.Ext.form.TextField()基本用法
    48.EXt.Data.JsonReader()
    47. Ext.form.Field.prototype.msgTarget
    46. Ext中namespace的作用(转)
    45. ExtJS ComboBox 下拉列表详细用法
    44. Ext信息提示对话框
    43. ExtJs控件属性配置详细
    42.extjs Combobox动态加载数据问题,mode:local 还是remote
    堆叠顺序
  • 原文地址:https://www.cnblogs.com/walker993/p/14499758.html
Copyright © 2011-2022 走看看