Redis
什么是rides
Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。从2010年3月15日起,Redis的开发工作由VMware主持。从2013年5月开始,Redis的开发由Pivotal赞助
Redis 能干什么?
- 内存存储, 持久化(内存中是断电即失 , 所以持久化很重要 RDB AOF)
- 效率高, 开源用于高速缓存
- 发布订阅系统
- 地图信息分析
- 计时器 , 技数器
- …
指令
基础指令
flushdb # 清除当前数据库所有的key
flushall # 清除所有数据库的key
select number # number 值为0-15 切换数据库
EXISTS Key # 判断当前的key是否存在
set key vlue # 插入数据
get key # 获取数据
keys * # 查看当前数据库所有的key
ttl key # 查看数据过期时间
关于String
APPEND KEY value # 在KEY 后面追加字符串 如果当前key 不存在 就相当于setkey
STRLEN KEY #获取字符串长度
INCR KET # ket 所对应的值自增一
INCRBY KEY NUMBRE # 指定KEY自增number 设定步长 指定增量
DECR KEY# 指定key自减一
DECRBY KEY NUMBER # 指定KEY减number
TYPE KEY # 查看当KEY前类型
getrange key start end # 截取key的值 从start 到end
setrange key offset value # 替换指定位置的值
setex key seconds(set with expire) # 设置过期时间
setnx key value(set if not exist) # 不存在设置 (在分布式会常常使用)
mset key v... # 批量插入值
mget key key ... # 批量获取值
msetnx # 批量不存在设置 原子性
# 这里的是key是一个巧妙的设计
# 存储对象
mget user:1:age
getset # 如果存在值 , 获取原来值 , 并设置新的值
关于List
# 几乎所有的list 命令都是用l开头的
lpush key v # 将一个值或多个值 插入列表的头部
Lrange key star end # 获取多个值
RPUSH key v # 将一个值或多个值 插入列表尾部
LPOP key # 从头部取出值
RPOP key # 从尾部取出值
Lindex # 从获取指定下标的值
Llen # 获取列表长度
lrem key 数量 value # 移除指定的值
ltrim key star stop # 通过下标截取指定的长度,list已经被改变了
rpoplpush mylist myother # 从原list中取出最后一个值放入其他list中
lset list index value #将列表中指定下标的值替换为另外一个值 相当于更新操作 如果不存在下表的值 就会报错
Linsert key After|Before privo values # 在list里指定一个值的前或后插入一个值