(1)Redis 基本类型
一、 库
redis默认16个库,0-15。默认端口号 6379
使用某个库
select 0
测试服务器是否连通
ping //返回pong
移动key到另一个库
move key 5 //移动到5号库
清空当前库
flushdb
清空所有库
flushall
查找当前库的所有key
keys *
key改名
rename name1 name2 //把name1重命名name2 rename name1 name2 //如果有name2就不能更改 返回0
排序
sore
帮助文档
help 类型或指令
或
help 按tab //查指令群组
清屏
clear
退出
quit 或 exit 或 esc
设置key有效期
expire name 10(秒)//十秒后该key失效 pexpire //毫秒 expireat //时间戳 pexpireat
查看key有效期, -2表示无此key,-1表示永久保留
ttl key name //
pttl
转成永久性key
persist name
二、字符串
保存 如果已有则覆盖
set key v
读取,如果没有返回nil
get key
删除
del key
判断是否存在key,返回bool
exists key
范围内取值,截取0到3索引的字符
getrange key 0 3
给k1的值的第0位开始默认加上abc,会覆盖之后对应位置
setrange k1 0 abc
保存进内存n秒后消失
setex k n(秒) v //psetex 毫秒
如果不存在创建一个,如果存在不发生变化
setnx k v
一次存多个值
mset k1 v k2 v k3 v
一次取多个值
mget k1 k2 k3
如果有一个存在则全失败
msetnx k1 v k2 v k3 v
三、List-双向链表
正序插入
rpush list1 1 2 3
逆序插入
lpush list1 1 2 3
查询
lrange list1 0 -1
弹出第一个元素
lpop list1
删除两个3,如果只有1个3 则只删除一个,返回数字1
lrem list1 2 3
截取第0到4位,保存到原来位置。其他元素舍弃
ltrim list 0 4
长度
llen list1
返回list变量的第1个元素
lindex list1 0
把list1最后一个元素剪切到list2的第一个元素之前
rpoplpush list1 list2
在值1前插入值2
linsert list1 before 值1 值2
在值1后插入值2
linsert list1 after 值1 值2
//阻塞,
blpop
四、 SET
set不允许重复,倒叙插入
sadd set1 1 2 2 3 //只会插入一个2
获取集合元素个数
scard set1
查询全部
smembers set1
随机弹出某个数
spop set1
把指定元素从set1 转到set2
smove set1 set2 5
删除变量下所有元素
del set1
差集 只在set1里面,不在set2里面,结果返回出来,原set1 set2 数据不变
sdiff set1 set2
交集
sinter set01 set02
并集
sunion set1 set2
存储交并差
sinterstore set3 set1 set2 //把set1和set2的计算存储到set3中
五、Hash
键值对集合,适合存放对象
存单个
hset hash1 name tom
取
hget hash1 name
存多个
hmset hash1 id 2 name tom
取多个
hmget hash1 id name
查全部
hgetall hash1
删除指定
hdel hash1 name
统计个数
hlen hash1
是否存在
hexists hash1 name
所有的key
hkeys hash1
所有值
hvals hash1
redis不能并发运行,所以保证了原子性
增长两岁
hincrby hash1 age 2
增长10.5分
hincrbyfloat hash1 socre 10.5
如果不存在可以加入并返回bool
hsetnx hash1 address abc