redis 默认16个库,编号 0~15,默认为0
SELECT 0选择第0个库,key * 查看改库里的键值
redis:基于键值对的NoSql数据库,Redis中的值可以是由string(字符串)、hash(哈希)、list(列表)、set(集合)、zset(有序集合)、Bitmaps(位图)、HyperLogLog、GEO(地理信息定位)等多种数据结构和算法组成.
redis运行在内存中,还可以将数据通过快照或日志的形式存在硬盘上(持久化)
redis可以主从复制,高可用,分布式
Set
set age 18
ex seconds:为键设置秒级过期时间。
px milliseconds:为键设置毫秒级过期时间。
nx:键必须不存在,才可以设置成功,用于添加。
xx:与nx相反,键必须存在,才可以设置成功,用于更新。
set age 18 EX 5
get age
set age 18 nx
get age
set age 18 xx
get age
同时有setnx,setxx作用与nx,xx相同
setnx age 18
setxx age 18
当有多个客户端同时操作同一个key时,只会有一个setxx成功,实现了分布式锁
#同时设置多个键值对
mset a 1 b 2 c 3
get
get user
#同时获取多个值,当有不存在的键时,该键所对应的值就为nil
mget user age
#得到的数据顺序为设置值的顺序
incr
#自增一个1,当值不为整数时返回错误
incr a
#自减一个1
decr a
#自增指定整数
incrby a 2
#自减指定整数
decrby a 3
#自增指定浮点数
decrby a 0.2
但是没有自减浮点数,而且自增,自减都只针对整数
不常用命令
#在值尾部追加值
get a
append a one
#值长度(每个中文占3个字节)
strlen a
#更新值并返回原值(若原值为空,则返回nil)
getset name rourou
#设置指定位置的字符[0:]
set a rourouone
setrange a 7 t
#取到某段字符
getrange a 0 1
>"ro"
字符串类型的内部编码有3种:
int:8个字节的长整型。
embstr:小于等于39个字节的字符串。
raw:大于39个字节的字符串。
object encoding a
哈希
hset class:1 name rourou
hset class:1 age 18
#如果设置成功会返回1,反之会返回0。此外Redis提供了hsetnx命令,它
#们的关系就像set和setnx命令一样,只不过作用域由键变为field。
hget class:1 name
#取值,若不存在,就返回nil
hdel class:1 name
#删除name键值对
hlen class:1
#获取该哈希中有多少个键值对
hstrlen class:1 name
#name对应的值的长度
网友评论