《Redis基础》笔记

狂风中的少年 提交于 2020-12-02 05:53:36

同步自https://gitee.com/Corvey/note

数据类型

strings

  • set key valueget key,注意set操作会覆盖已有的key/value,若不希望覆盖可使用set key value nx
  • mset key1 value1 key2 value2 ...mget key1 key2 ...一次性完成多个key/value关系
  • incr key加一,incrby key increment加increment
  • decr key减一,decr key decrement减decrement

Lists

  • lpush key value...将多个value依次插入到key的最左边,rpush最右
  • lrange key start stop输出key的start到stop范围,负数表示倒数
  • lpop keyrpop key弹出key的最左或最右
  • lset key index value将key的index位置元素修改为value

Hashes

  • hset key field valuehmset key field1 value1 field2 value2...
  • hget key fieldhmget key field1 field2...
  • hincrby key field increment

无序集合

  • sadd key member1 member2 ...
  • smembers key输出所有元素
  • sismember key member元素member是否在key内

有序集合

  • zadd key score1 member1 score member2...
  • zrange key start stop正序输出,zrevrange key start stop逆序输出,在末尾加上参数withscores可以同时输出记录值。
  • zincrby key increment member

系统管理

适用于全体类型的常用命令

  • exists key1 key2...判断多个key是否存在
  • del key1 key2删除多个key
  • type key返回key的类型(none, string, list, hash, set, zset)不存在返回none
  • keys pattern根据pattern筛选并打印出已有的key
  • randomkey随机返回一个已存在的key,若没有则返回(nil)
  • clear清屏
  • rename key newkey重命名,若newkey存在则覆盖
  • renamenx key newkey重命名,若newkey存在则取消
  • dbsize返回当前存在的key个数

时间相关命令

  • expire key secondskey在seconds秒后自动删除
  • ttl key查看key剩余生存时间
  • flushdb删除当前数据库的所有key,flushall删除所有数据库的所有key

设置相关命令

  • config get用来读取运行Redis服务器的配置参数,config set用于更改运行Redis服务器的配置参数。
  • auth认证密码
  • config resetstat重置数据统计报告

查询信息

  • info [section]查询redis相关信息
    1. server: Redis server的常规信息
    2. clients: Client的连接选项
    3. memory: 存储占用相关信息
    4. persistence: RDB and AOF 相关信息
    5. stats: 常规统计
    6. replication: Master/slave请求信息
    7. cpu: CPU 占用信息统计
    8. cluster: Redis 集群信息
    9. keyspace: 数据库信息统计
    10. all: 返回所有信息
    11. default: 返回常规设置信息
    • 若命令参数为空,info命令返回所有信息。

高级应用

  • config set requirepass 密码设置密码,auth 密码认证
  • multi进入事务上下文,直到exec。执行过程中出现错误不会回滚。
  • 持久化机制
  • 虚拟内存的使用
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!