Redis(三):新数据类型
阅读原文时间:2023年07月08日阅读:2

配置文件redis.conf详解

bind=127.0.0.1             # 表示只能在本机中访问redis,将该行注释掉,即可接收任何IP地址的访问
protected-mode           # 设置为no,表示关闭保护模式
timeout                # 表示一个cli客户端多长时间没有操作时会关闭,设置为0表示永不关闭
tcp-keepalive           # 表示多少秒会对客户端进行一次心跳检测

发布和订阅

publish <频道> <message>          # redis作为发布者,向一个频道中发送消息
subscribe <频道>           # redis作为订阅者,接收指定频道的消息
# 一个频道可以被多个订阅者接收

Bitmaps

setbit <key> <offset> <value>        # 设置key中某个偏移量的值,key表示集合,偏移量表示集合中value的下标
  • 例如

    getbit #获取Bitmaps中某个偏移量的值
    bitcount # 统计集合key中value为1的个数
    bitcount [start end] # 统计在指定下标中value为1的个数
    bitop and(or/not/xor) [key…] # 统计多个集合中value为1的个数(交集、并集)

    有大量数据时使用Bitmaps,数据较少时使用set

HyperLogLog

# 基数为不重复的元素个数
pfadd <key> < element>   # 向一个集合中添加多个value,若是已存在的元素则返回0,否则返回1
pfcount <key>        # 统计集合中的基数个数
pfmerge <destkey> <sourcekey> [sourcekey ...]       # 将多个集合合并到一个集合(destkey)中

Geospatial

geoadd <key> < longitude> <latitude> <member>          # 在集合key中给value设置经度、纬度
# 有效的经度从 -180 度到 180 度;有效的纬度从 -85.05112878 度到 85.05112878 度
geopos  <key> <member>      # 获取集合key中指定value的经纬度
geodist <key> <member1> <member2>  [m|km|ft|mi ]        # 获取两个位置之间的直线距离
    # m 表示单位为米[默认值]
    # km 表示单位为千米
    # mi 表示单位为英里
    # ft 表示单位为英尺
georadius <key> < longitude> <latitude> radius  m|km|ft|mi        # 以给定的经纬度为中心,找出某一半径内的元素

Jedis

  • Java语言可使用jedis操作redis数据库,类似于jdbc操作MySQL
  • Jedis操作redis步骤: