开启/关闭redis
redis-server [配置文件地址(/opt/redis-6.0.6/redis.conf)] // 开启服务,命令文件储存在/usr/local/bin当中redis-cli -p [端口号6379] // 开启客户端// 关闭服务SHUTDOWN [NOSAVE/SAVE]quit // 关闭cli
切换数据库
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
