学习来源:B站黑马程序员免费视频

Docker如何运行和关闭Redis

命令如下:

//运行指令
docker start 你指定的Redis容器名字

//关闭指令
docker stop 你指定的Redis容器名字

当然,之前所提到的docker run之类的指令也可以运行Redis。

查看Redis命令的官网地址

https://redis.io/commands

通过命令行查看Redis命令

//Get a list of commands in <group>
help @<group>

Redis通用命令

  • KEYS:查看符号模版的所有key,不建议在生产环境设备上使用
    • 用法:KEYS pattern
  • DEL:删除一个指定的key
    • 用法:DEL key [key …]
  • EXISTS:判断key是否存在
    • 用法:EXISTS key [key …]
  • EXPIRE:给一个key设置有效期,有效期到期时该key会被自动删除
    • 用法:EXPIPE key seconds
  • TTL:查看一个KEY的剩余有效期
    • 用法:TTL key

Redis数据结构

  • String
    • 例如:hello world
  • Hash
    • 例如:{name:”Jack”, age:21}
  • List
    • 例如:[A -> B -> C -> C]
  • Set
    • 例如:{A, B, C}
  • SortedSet
    • 例如:{A: 1, B: 2, C: 3}
  • GEO
    • 例如:{A: (120.3, 30.5)}
  • BitMap
    • 0110110101110101011
  • HyperLog
    • 0110110101110101011

前五种为基本类型,后三种为特殊类型。

String类型
String类型可分为3类
  • int:整数类型,可以做自增、自减操作
  • float:浮点类型,可以做自增、自减操作
  • string:普通字符串
string类型的常见命令
  • SET:添加或者修改已经存在的一个String类型的键值对
  • GET:根据key获取String类型的value
    • 用法:GET key
  • MSET:批量添加多个String类型的键值对
    • 用法:MSET key value [key value …]
  • MGET:根据多个key获取多个String类型的value
    • 用法:MGET key [key …]
  • INCR:让一个整型的key自增1
    • 用法:INCR key
  • INCRBY:让一个整型的key自增并指定步长,例如:incrby num 2 让num值自增2
    • 用法:INCRBY key increment
  • INCRBYFLOAT:让一个浮点类型的数字自增并指定步长
    • 用法:INCRBYFLOAT key increment
  • SETNX:添加一个String类型的键值对,前提是这个key不存在,否则不执行
    • 用法:SETNX key value
  • SETEX:添加一个String类型的键值对,并且指定有效期
    • 用法:SETEX key seconds value
Hash类型
Hash类型的常见命令
  • HSET:添加或者修改hash类型key的field的值
    • 用法:HSET key field value [field value …]
  • HGET key field:获取一个hash类型key的field的值
    • 用法:HGET key field
  • HMSET:批量添加多个hash类型key的field的值
    • 用法:HMSET key field value [field value …]
  • HMGET:批量获取多个hash类型key的field的值
    • 用法:HMGET key field [field …]
  • HGETALL:获取一个hash类型的key中的所有的field和value
    • 用法:HGETALL key
  • HKEYS:获取一个hash类型的key中的所有的field
    • 用法:HKEYS key
  • HINCRBY:让一个hash类型key的字段值自增并指定步长
    • 用法:HINCRBY key field increment
  • HSETNX:添加一个hash类型的key的field值,前提是这个field不存在,否则不执行
    • 用法:HSETNX key field value
List类型
List类型的特点
  • 有序
  • 元素可以重复
  • 插入和删除快
  • 查询速度一般

常用来存储一个有序数据,例如:朋友圈点赞列表,评论列表等。

List类型的常见命令
  • LPUSH/RPUSH:向列表左/右侧插入一个或多个元素
    • 用法: LPUSH/RPUSH key element [element …]
  • LPOP/RPOP:移除并返回列表左/右侧的第一个元素,没有则返回nil
    • 用法:LPOP/RPOP key [count]
  • LRANGE:返回一段角标范围内的所有元素
    • 用法:LRANGE key start stop
  • BLPOP/BRPOP:与LPOP/RPOP类似,只不过在没有元素时等待指定时间,而不是直接返回nil
    • 用法:BLPOP/BRPOP key [key …] timeout
Set类型
Set类型的特点
  • 无序
  • 元素不可重复
  • 查找快
  • 支持交集.并集.差集等功能
Set类型的常见指令
  • SADD :向set中添加一个或多个元素
    • 用法:SADD key member [member …]
  • SREM: 移除set中的指定元素
    • 用法:SREM key member [member …]
  • SCARD: 返回set中元素的个数
    • 用法:SCARD key
  • SISMEMBER:判断一个元素是否存在于set中
    • 用法:SISMEMBER key member
  • SMEMBERS:获取set中的所有元素
    • 用法:SMEMBERS key
  • SINTER key1 key2 … :求key1与key2的交集
    • 用法:SINTER key [key …]
  • SDIFF key1 key2 … :求key1与key2的差集
    • 用法:SDIFF key [key …]
  • SUNION key1 key2 ..:求key1和key2的并集
    • 用法:SUNION key [key …]
SortedSet类型
SortedSet类型的特点
  • 可排序
  • 元素不重复
  • 查询速度快
SortedSet类型常见命令
  • ZADD:添加一个或多个元素到sorted set ,如果已经存在则更新其score值
    • 用法:ZADD key [NX|XX] [GT|LT] [CH] [INCR] score member [score member …]
  • ZREM:删除sorted set中的一个指定元素
    • 用法:ZREM key member [member …]
  • ZSCORE: 获取sorted set中的指定元素的score值
    • 用法:ZSCORE key member
  • ZRANK:获取sorted set 中的指定元素的排名(默认升序)
    • 用法:ZRANK key member [WITHSCORE]
  • ZCARD:获取sorted set中的元素个数
    • 用法:ZCARD key
  • ZCOUNT:统计score值在给定范围内的所有元素的个数
    • 用法:ZCOUNT key min max
  • ZINCRBY:让sorted set中的指定元素自增,步长为指定的increment值
    • 用法:ZINCRBY key increment member
  • ZRANGE:按照score排序后,获取指定排名范围内的元素
    • 用法:ZRANGE key start stop [BYSCORE|BYLEX] [REV] [LIMIT offset count] [WITHSCORES]
  • ZRANGEBYSCORE:按照score排序后,获取指定score范围内的元素
    • 用法:ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT offset count]
  • ZDIFF\ZINTER\ZUNION:求差集\交集\并集
    • 用法
      • ZDIFF numkeys key [key …] [WITHSCORES]
      • ZINTER numkeys key [key …] [WEIGHTS weight [weight …]] [AGGREGATE SUM|MIN|MA
        X] [WITHSCORES]
      • ZUNION numkeys key [key …] [WEIGHTS weight [weight …]] [AGGREGATE SUM|MIN|MA
        X] [WITHSCORES]

    Redis的key的格式

    Redis的key允许有多个单词形成层级结构,多个单词之间用’:’隔开,格式如下:

    层级一:层级2:层级3:id

    By Liu

    发表回复

    您的邮箱地址不会被公开。 必填项已用 * 标注