关闭redis
redis-cli -a password shutdown:关闭redis
./redis_init_script stop:关闭redis
客户端
redis-cli:进入到redis客户端
auth pwd:输入密码
redis-cli -a password ping:查看是否存活
缓存操作
- set key value:设置缓存
- get key:获得缓存
- del key:删除缓存
- keys *:查看所有的key (不建议在生产上使用,有性能影响)
- type key:key的类型
数据类型
String 字符串
最简单的字符串键值对缓存,也是最基本的
Key相关
使用
- get/set/del:查询/设置/删除
- set rekey data:设置已经存在的key,会覆盖
- setnx rekey data:设置已经存在的key,不会覆盖
- set key value ex time:设置带过期时间的数据
- expire key:设置过期时间
- ttl:查看剩余时间,-1永不过期,-2过期
- append key:合并字符串
- strlen key:字符串长度
- incr key:累加1
- decr key:类减1
- incrby key num:累加给定数值
- decrby key num:累减给定数值
- getrange key start end:截取数据,end=-1 代表到最后
- setrange key start newdata:从start位置开始替换数据
- mset:连续设值
- mget:连续取值
- msetnx:连续设置,如果存在则不设置
hash
类似map,存储结构化数据结构,比如存储一个对象(不能有嵌套对象)
使用
- hset key property value:
-> hset user name hanleilei (创建一个user对象,该对象包含name属性,属性值为hanleilei) - hget user name: 获取用户对象中的name的值
- hmset: 设置对象中的多个键值对
-> hmset user age 18 phone 139123123 - hmsetnx: 设置对象中的多个键值对,存在则不添加
->hset user age 18 phone 139123123 - hmget: 获得对象中的多个属性
-> hmget user age phone - hgetall user: 获取user对象下的所有属性。
- hincrby user age 3: user对象的age属相增长3个大小
- hincrbyfloat: 增长小数
- hlen user: 获取user对象里面的属性
- hexists user age: 有该属性则返回该属性的数量,没有该属性返回该属性的数量为 0。
- hkeys user: 返回所有的属性key
- hvals user: 返回所有user对象的value属性。
- hdel user: 删除对象。
list
list:列表,[a, b, c, d, …]
- lpush userList 1 2 3 4 5: 构建一个list,从左边开始存入数据
- rpush userList 1 2 3 4 5: 构建一个list,从右边开始存入数据
- lrange list start end: 获得数据
- lpop: 从左侧开始拿出一个数据
- rpop: 从右侧开始拿出一个数据
- llen list: list长度
- lindex list index: 获取list下标的值
- lset list index value: 把某个下标的值替换
- linsert list before/after value: 插入一个新的值
- lrem list num value: 删除几个相同数据
- ltrim list start end: 截取值,替换原来的list
zset
sorted set (sorted set:排序的set,可以去重可以排序,比如可以根据用户积分做排名,积分作为set的一个数值,根据数值可以做排序。set中的每一个memeber都带有一个分数)
使用
-
zadd zset 10 value1 20 value2 30 value3:设置member和对应的分数
-
zrange zset 0 -1:查看所有zset中的内容
-
zrange zset 0 -1 withscores:带有分数
-
zrank zset value:获得对应的下标
-
zscore zset value:获得对应的分数
-
zcard zset:统计个数
-
zcount zset 分数1 分数2:统计个数
-
zrangebyscore zset 分数1 分数2:查询分数之间的member(包含分数1 分数2)
-
zrangebyscore zset (分数1 (分数2:查询分数之间的member(不包含分数1 和 分数2)
-
zrangebyscore zset 分数1 分数2 limit start end:查询分数之间的member(包含分数1 分数2),获得的结果集再次根据下标区间做查询
-
zrem zset value:删除member
其他
- select index:切换数据库,总共默认16个
- flushdb:删除当前下边db中的数据
- flushall:删除所有db中的数据