Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。
Redis的值可以是:
字符串(String) 可以包含任何数据 最大储存量为512M
哈希(Map) 元素不重复
列表(list) 双向链表(可以从前面、后面插入)
集合(sets)
有序集合(sorted sets)
Redis 与其他 key - value 缓存产品有以下三个特点:
Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
Redis支持数据的备份,即master-slave模式的数据备份。
string 类型
设置单个属性
set filed(键) value(值)
获取单个属性
get filed(键)
设置多个属性
mset filed(键) value(值) [......]
获取多个属性
mget key key ......
设置过期时间
setex(expire) key seconds(秒数) value
替换字符串
setrange key offset(偏移量,从哪个位置开始替换) newvalue
判断是否存在,存在则不创建,不存在则创建
setnx key value
追加
append key '要追加的值'
删除
del key
删除多个
del key key
查看字符串长度
strlen key
有计算的操作,但是必须是针对于数字
默认递减1
decr
也可以指定要递减的数字
decrby key 要减去的数字
字符串中key的操作
查看当前数据库下所有的key
keys *
查看当前数据库下包含b的所有的key
keys '*b*'
当前数据库随机返回一个值
randomkey
返回当前key值的类型
type key
给key值设置过期时间
expire key seconds
查看有效时间,以秒为单位
ttl key
检查给定 key 是否存在。
EXISTS key
修改 key 的名称
RENAME key newkey
删除key
del key
hash类型
设置单个属性
hset key filed value
获取单个属性
hget key filed
设置多个属性
hmset key filed value filed value
获取多个属性
hmget key filed filed...
删除属性
hdel key filed filed...
获取key下的所有域
hkeys key
获取key下的所有值
havls key
获取key中的所有域与value的值
hgetall key
获取key中所有域的长度
hlen key
给hash数据类型中的域的数字值增加指定的值
hincrby key filed 数字
判断键下是否存在某个域
hexists key filed
查看域对应的字符串的长度
hstrlen key filed
list数据类型
从左边开始存,先存的在后边
lpush key value ......
从右边开始存,先存的在前边
rpush key value value
查看数据
lrange key start (起始位置,从0开始) end (结束位置,-1)
重新赋值 (根据索引)
lset key index value
指定位置插入值
linsert key before|after value (给定一个值作为参照位置) value
取值(从左边开始取值,取到就删除)
lpop key
取值(从右边开始取值,取到就删除)
rpop key
查看队列的长度
llen key
根据索引查找
lindex key index
截取
ltrim key start stop
删除、并获得该表中的第一个元素,或阻截。直到有一个可用。
blpop key key1 时间
删除、并获得该表的最后一个元素,或阻塞,直到有一个可用。
brpop key1 key2 时间