Redis拾遗(三)

键的管理:

  1. 键重命名:rename key newkey 重命名后原键的值会被覆盖  renamenx key newkey 只有newkey 不存在的时候才被覆盖(需注意当键值比较大会存在阻塞redis的可能)
  2. 随机返回一个键:randomkey
  3. 键过期:
    1. expire key seconds 键在seconds秒后过期
    2. expireat key timestramp 键在秒级时间戳timestrap后过期
    3. ttl key 查看键剩余过期时间
    4. ·pexpire key milliseconds: 键在milliseconds毫秒后过期
    5. pexpireat key milliseconds-timestamp键在毫秒级时间戳timestamp后过
      期。
    6. persist key 将键的过期时间清除
    7. 对于字符串类型的键,执行set 命令会去掉过期时间,易忽略!
    8. Redis不支持二级数据结构(list hash)内部元素的过期功能
  4. 迁移键:
    1. move key db 将制定的键从源数据库移动到目标数据库(redis内部有多个数据库,默认用0号)
    2. dump+restore :
      1. dump key 在源Redis上,dump命令将键值序列化,采用RDB格式
      2. restore key ttl value 在目标redis上,restore命令将上面序列化的值进行复原,ttl代表过期时间,ttl=0代表没有过期时间
    3. migrate:将dump.restore.del单个命令组合,原子性。只需要在源redis上运行。migrate host port key|"" destination-db timeout [copy] [replace] [keys key [key

  5. 遍历键:
    1. keys pattern:类正则用法(不建议在生产环境用此命令,因为单线程缘故,会阻塞,可在从节点执行,或总键数比较少的情况下等)
    2. 渐进式遍历:scan cursor [match pattern] [count number] 解决阻塞问题, 但对新增的键可能扫描不到,这是开发时需要注意的。
  6. 数据库管理:
    1. 切换数据库:select dbIndex
    2. 删除数据库:flushdb/flushall

小功能大用处:

  1. 慢查询分析:慢查询日志功能,可配置时间阈值,慢查询日志最大条数,结合具体命令进行开发运维。
  2. redis-cli:-r:重复多少次该命令;-i:和-r一起使用,每隔几秒执行;-x:代表从标准输入读取数据作为redis-cli的最后一个参数eg: echo "world" | redis-cli -x set hello ;-a :密码;--scan/--pattern;--slave作为从节点;--rdb:生成rdb持久化文件;--pipe:管道批量发送命令;--bigkeys:采用scan命令对redis键进行采样,找到内存占用比较大的键值;--eval:执行lua脚本;--latency:检测网络延迟;--stat:查看重要统计信息;--raw/--no-raw:要求命令返回结果是否为原始格式;
  3. redis-server:--test-memory mb 检测系统是否能闻到分屏指定容量的内存给redis
  4. pipeline:节省网络开销,非原子
  5. 事务:将命令放到multi 和 exec之间,Redis不支持回滚。
  6. Bitmaps:按位操作的命令集,不在此赘述
  7. HyperLogLog:利用极小内存空间完成独立总数的统计
  8. 发布订阅:
    1. 发布消息:publish channel message
    2. 订阅消息:subscribe channel [channel ...]
    3. 取消订阅:unsubscribe [channel [channel ...]]
    4. 按照模式订阅和取消订阅:psubscribe pattern [pattern...]
      punsubscribe [pattern [pattern ...]]
    5. 查看活跃频道:pubsub channels [pattern]

    6. 查看频道订阅数:pubsub numsub [channel ...]
    7. 查看模式订阅说:pubsub numpat
  9. GEO:地理定位功能
原文地址:https://www.cnblogs.com/fly-to-the-sky/p/9656897.html