Redis的数据类型之String字符串类型操作(二)
一.Redis的数据类型
1.字符串:String
2.哈希:hash
3.列表:list
4.集合:set
5.有序集合:zset
数据库操作的全部命令:
http://redis.cn/commands.html
二.String字符串
概述:String是Redis的最基本的类型,最大能存储512M的数据,String类型是二进制的,可以存储任何数据(比如数字,图片,序列化对象等);
一个key对应一个value
1.设置键值
A.设置键值
set key value
set name lisi
B.设置键值以及过期时间,以秒为单位
setex key seconds vlaue
setex name 10 lisi
C.查看有效时间,以秒为单位
ttl key
ttl name
D.只有在key不存在时,设置key的值(防止key的值别覆盖,当key存在时,设置失败)
setnx key value
E.设置多个键值
mset key1 value1[key2 value2.....]
mset name lisi age 18
2.key的操作
A.根据键获取值,如果不存在,则返回None(null,0,nil)
get key
get name
B .获取多个键的值
mget key[key2....]
C.返回key中字符串的子字符(切片)
getrange key start end ---包含start和end
getrange name 0 2
D.将给定的值设为value并返回旧值
getset key value
3.运算
要求:值是字符串类型的数字
A.将key对应的值+1
incr key
B.将key对应的值-1
decr key
C.将key的对应值+整数
incr by key intnum
D.将key对应的值-整数
decr by key intnum
4.其他
A.追加值,将值追加到原有值的后面(类似拼接)
append key value
B.获取值的长度
strlen key
5.Key键的操作
A.查询所有符合给定模pattern(正则表达式)的key
keys *
keys*o*
keys t??
支持正则表达式的模式:
h?llo :?代表1个
h*llo:*代表0或者多个
h[ef]llo:匹配第二位为e或者f
h[\^e]llo:匹配第二位除了e以外
h[a-b]llo:匹配第二位为a-b任意小写字母
B.判断key是否存在
exists key
返回0代表不存在,返回1代表存在
C.查看key对应的value的类型
type key
D.删除键以及对应的值
del key[key....]
E.设置过期时间以秒为单位(key是已经存在的)
expires keys seconds
F.查看有效时间,以秒为单位
ttl key
G.查看有效时间,以毫秒为单位
pttl key
H.移除key的过期时间,将key持久保持
persist key
I.删除所有的key
flushdb 删除当前数据库中所有的key
flushall 删除所有数据库的key
redis有0--15个库
select [0-15]切换对应的库:
J.修改key的名称,当新的key名不存在时才能修改成功
renamenx key newkey
K.对key进行重命名,当新的key名存在时,则直接覆盖
rename key newkey
L.将key移动到指定的数据库中
move key db
M.随机返回一个key
randomkey