开启/关闭redis

  1. redis-server [配置文件地址(/opt/redis-6.0.6/redis.conf)] // 开启服务,命令文件储存在/usr/local/bin当中
  2. redis-cli -p [端口号6379] // 开启客户端
  3. // 关闭服务
  4. SHUTDOWN [NOSAVE/SAVE]
  5. quit // 关闭cli

切换数据库

select 数据库编号

Redis键key

  • key s * : 列出所有key
  • exists key的名字, 存在返回1,不存在返回0
  • move key db —> 将当前库的键值对移到其他库上
  • expire key 秒钟:设置key的过期时间
  • ttl key:查看还有多少秒过期,-1代表永不过期,-2代表已过期 (ttl time to leave的缩写)过期就会被删除
  • type key: 查看key的类型
  • set key value : 如果key已存在,则会覆盖

String

单值单value

  • set/get/del/append/strlen:
  • Incr/decr/incrby/decrby, 必须是数字才能加减,返回修改之后的值
  • getrange/setrange:截取字符串,从0开始
  • setex(set with expire) 键 秒 值 : 在存入键值对的时候就设置过期时间
  • setnx(set if not exist) : 先判断是否存在,不存在再赋值
  • mset/mget/msetnx (m-》multi)

同时获取存多个值或获取多个值,msetnx:如果其中有已经存在的,则整个插入都失效

  • getset(先get再set),会返回旧值,如果get不到,本次操作失败,返回nil

List

单值多value

  • lpush/rpush/lrange,lrange打印list,如果键不存在则新建链表,如果已存在则添加内容,值被清空,键就会消除
  • lpop/rpop : 出栈
  • lindex key index:按照索引下标获取元素
  • llen
  • lrem key 删N个value
  • ltrim key 开始index 结束index,截取指定范围的值后再赋值给key
  • rpoplpush source dest:从source右侧出栈,dest的左侧入栈
  • lset key index value 从左开始给某个index的进行赋值
  • linsert key before/after 值1 值2

Set

单值多value

  • sadd/smembers/sismember
  • scard,获取集合里面元素个数
  • srem key value 删除集合中元素
  • srandmember key 某个整数
  • spop key 随机出栈
  • smove key1 key2 在key1中的某个值 : 将key1里的某个值赋值给key2
  • 数学集合类
    • 交集:sinter
    • 并集:sunion
    • 差集:sdiff,key的顺序会导致输出结果不同,一般是输出第一个集合有但是其他集合没有的

Hash

kv模式不变,但是vlaue是一个键值对

  • hset/hget/hmset/hmget/getall/gdel
  • hlen
  • hkeys/hvals
  • hincrby/hincrbyfloat
  • hsetnx

ZSet

有序集合(默认从小到大) 在set的基础上,加一个score值,之前set是k1 v1 k2 v2。现在set是k1 sorce1 v1 k2 score2 v2

  • zadd/zrange
    • withscores 打印分数
  • zrangebyscore key 开始score 结束score
    • 默认包含边界,如果不包含在score前面加左小括号(
    • limit 限制返回的数量,limit 开始下标步 多少步。从zrangebyscore的返回结果重新开始计算
  • zrem key 某score下对应的value值,作用是删除元素
  • zcard/zcount key score 区间/zrank key values 值,作用是获得下标值/zscore key 对应值,获得分数
  • zrevrank key values值,逆序获得下标值
  • zrevrange
  • zrevrangebyscore key 结束score 开始score