一、Redis命令行客户端
前言:安装完成Redis之后,在系统的配置文件init.d 中有redis的启动文件,打开此启动文件发现有一个redis-cli,此及为命令行客户端
运行:在init.d下直接运行redis-cli即可进入Redis命令行工具
命令:
redis-cli :进入到redis客户端
auth pwd :输入密码
set key value :设置缓存
get key :获得缓存
del key :删除缓存
redis-cli -a password shutdown :关闭redis
./redis_init_script stop :关闭redis
redis-cli -a password ping :查看是否存活
二、数据类型【5】 - 指令均在命令行工具执行
**1、string**:最简单的字符串类型键值对缓存,也是最基本的,文字和数字存放统一用string,区别在于数字可以进行增、减动作,不用转换类型
命令:
key相关
keys *:查看所有的key (不建议在生产上使用,有性能影响)
type key:key的类型
string类型
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:连续设置,如果存在则不设置
其他
select index:切换数据库,总共默认16个
flushdb:删除当前下边db中的数据
flushall:删除所有db中的数据
2、hash:类似map,存储结构化数据结构,比如存储一个对象(不能有嵌套对象)
使用
hset key property value:
-> hset user name imooc
-> 创建一个user对象,这个对象中包含name属性,name值为imooc
hget user name:获得用户对象中name的值
hmset:设置对象中的多个键值对
-> hset user age 18 phone 139123123
hmsetnx:设置对象中的多个键值对,存在则不添加
-> hset user age 18 phone 139123123
hmget:获得对象中的多个属性
-> hmget user age phone
hgetall user:获得整个对象的内容
hincrby user age 2:累加属性
hincrbyfloat user age 2.2:累加属性
hlen user:有多少个属性
hexists user age:判断属性是否存在
hkeys user:获得所有属性
hvals user:获得所有值
hdel user:删除对象
3、list
list:列表,[a, b, c, d, …]
使用
lpush list名称1 2 3 4 5:构建一个list,从左边开始存入数据
rpush list名称1 2 3 4 5:构建一个list,从右边开始存入数据
lrange list名称 start end:获得数据
lpop:从左侧开始拿出一个数据
rpop:从右侧开始拿出一个数据
pig cow sheep chicken duck
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
4、set
sadd:新增set集合
smembers:查询set集合中的内容
scard tset:查询set集合的长度
sismember:查询集合中是否存在某一个元素,存在返回1,不存在返回0
srem:移除集合中的元素
srandmember:随机从集合中取出几个元素
smove:从某一个集合移动元素到另外一个集合
sdiff:集合取差集,原则:前者集合有,后者集合没有
sinter:交集
sunion:并集
5、zset
使用
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