Redis 简介
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统。Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。
- Redis 与其他 key - value 缓存产品有以下三个特点:
- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
- Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
- Redis支持数据的备份,即master-slave模式的数据备份。
Redis五大数据类型
string字符串类型
set key value 设置键值对
get key value 查看键值对
del key value 删除键值对
mset key value key value ...建立多个键值对
mget key1 key2 批量获取键
setnx key "hello" 若该键不存在,则为键设置新值
incr key 自动增加1
incrby key 数字 增加多少
decr key 自动减少1
decrby key 数字 减少多少
incrbyfloat p 小数 增加多少
append key value 是对字符串的追加
getrange key startindex endindex 字符切片
exists key 判断该键是否存在,存在返回 1,否则返回0
strlen key 获取指定 Key 的字符长度
ttl mykey 查看一下指定 Key 的剩余存活时间(秒数)
setex key 10 value 设置指定 Key 的过期时间为10秒,在存活时间可以获取value
hash哈希类型
Redis hash 是一个string类型的field和value的映射表,hash特别适合用于存储对象。
type key 判断类型
hset fiction name 111 建立小说的name 为1111
hset fiction author xxx 建立小说的author 为xxx
hgetall fiction 查看小说的所有键值对
hkeys fiction 查看小说的所有键
hvals fiction 查看小说的所有值
hdel fiction name 删除小说的name的键值对
list双向列表
lpush lt hehehe hahaha xixixi 往lt左边插入 xixixi在最左边
lrange key start end 列表切片
rpush lt hehehe hahaha xixixi 往lt右插入 xixixi在最右边
lpop key 删除key里面的左边第一个value
rpop key 删除key里面的右边第一个value
llen key 查看key的长度
set集合(没有重复的value)
sadd key value 如果value已经存在,则不会加进去
scard key 查看key的长度
smembers key 查看值
spop key 无序的删除key中的一个value
zset有序集合
zset key 10 m1
zset key 12 m2
zset key 1 m3
zscroe key m1 查看m1的值为10
zrange key 0 -1根据value的值从小到大排序,也可以切片
zrevrange key 0 -1 根据value的值从大到小排序