• HyperLogLog基数类型,能够提供不精确的去重计数

    添加元素到基数中pfadd w3ckey "redis"
    添加多个 pfadd w3ckey "qq" "we"
    返回基数估算值pfcount w3ckey
    合并多个到基数 pfmerge u w3ckey w32

  • GEO地理位置,查询某个坐标附近的坐标,查询两点间的距离,底层有序集合,所以可以用有序集合操作

    geoadd city 116.44 39.96 beijing添加纬度,经度名称,支持多个同时添加
    geodist city beijing bj km 计算两地距离 单位km m 默认m
    geopos city bj 返回经纬度,支持多个城市
    geohash city beijing bj 返回hash值
    georadius city 116 39 1000 km返回附近点
    count 3 withcoord withdist asc 分别是返回3条数据 经纬度 距离 从近到远
    geoRadiusByMember city bj 1000 km 同上,只是中心位置是城市名

  • bitmaps位图

    设置位 setbit kk 0 1设置0用户是1,默认0
    获取位 getbit kk 0查询0用户
    计算用户数bitcount kk
    计算位图是1个数 bitcount kk [start end] 可以指定开始结束位置
    交集and 并集or 非not 异或xor bitop and|or|not|xor newkey key [key…] 结果保存到newkey

  • Streams 流

    xadd st * user libai sex 1 msg ok 追加消息 * 表示自动生成
    xread只读不删除数据,多端同时读取
    xread streams st 0 消息队列读取全部,0是从第一条开始
    xread count 1 streams st 0 读取1条
    xread count 1 block 0 streams st 0 读取1条,永久阻塞0
    xread block 0 streams st $ 阻塞读取最新一条
    xinfo stream st查看信息
    xinfo groups st查看组信息
    xrange st - + 读取全部
    xrange st 1636003499055-0 1636003499055-0 读取1条
    xrange st - + count 1 读取1条,同上
    xrevrange st + - 反向 支持count
    xdel st 1637761084374-0 删除消息
    xlen st 长度没有是0
    xtrim st maxlen 2 保留最后两条
    xgroup create st g1 $ 创建消费者组 $是最新 0表示开始
    xreadgroup group g1 c1 block 0 count 3 streams st > 读取消费者
    xpending st g1 - + 10 消费组等待处理信息

  • 订阅发布

    subscribe ch1 订阅支持多频道
    publish ch1 "消息" 发布
    pubsub channels 查看有哪些频道 返回s1
    punsubscribe s1 退订

  • 事务,一次性,顺序性,排他性

    multi 开始事务
    set id 1
    exec 执行

  • 其他

    save 备份
    config get dir 恢复

  • redis插件 module list
    /usr/local/redis 路径
    /etc/redis 配置
    /var/lib/redis 备份

  • redisjson

    json.set j . ‘{“a”:”b”,”c”:[“1”,”2”,”3”]}’ 设置
    json.get j 获取
    json.type j 类型 string
    json.strlen foo 长度
    json.strappend foo . ‘“ss”‘ 追加字符
    json.numincrby foo . -1.5 计算支持加减
    json.get j .c[0]
    json.del j 删除
    json.del j .a
    json.set arr . [] 数组
    json.arrappend arr . 0 1 追加元素 [0 1]
    json.arrinsert arr . 0 -1 9 在索引处插入从0开始索引[-1 9 0 1]
    json.arrtrim arr . 0 2 截取0到2索引
    json.arrpop arr 尾部取出元素值,没有是nil
    JSON.OBJLEN obj 对象长度
    JSON.OBJKEYS obj 取出key

  • redisql,升级版要付费不支持存储到文件

    redisql.create_db db
    redisql.create_db db /home/db1.sqlite //保存到本地
    redisql.exec db “create table foo(a integer NOT NULL PRIMARY KEY AUTOINCREMENT,b text,c string)”
    redisql.exec db ‘insert into foo values(null,”nih”,”ok”),(null,”wo”,”vs”) ‘
    redisql.query db “select * from foo” 查询,用exec结果一样
    redisql.query.into db1 db “select * from foo” 转换成流
    xrange db1 - + 读取流
    del db 删除
    redisql.copy db db1 复制数据库,先要创建db1,用于内存到文件备份,

文档更新时间: 2022-07-10 18:12   作者:Yoby