Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。
Redis 与其他 key - value 缓存产品有以下三个特点:
- Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
- Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
- Redis支持数据的备份,即master-slave模式的数据备份。
- 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
- 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
- 原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
- 丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。
- Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。
- Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。
? ping redis 是否连接
select 数字 切换库(0-15)
set key value 设置key
type key 查看key 类型
keys * 查看当前库下的所有key
del key 删除key
rename key newkey 修改key的名字
exists key 查看key是否存在(1-存在,0-不存在)
randomkey 随机返回当前库下一个key
set key value 设置指定 key 的值
get key 获取指定 key 的值
getset key value 设置key的新值并反悔旧值
mget key1 key2 获取指定的多个key的值
setnx key value 只有当key 不存在时 设置key的值 (1 - 设置成功 ,0 - key 存在)
strlen key 查看key的长度
mset key value key value 设置多个key - value 的值
setex key seconds value 设置key的过期时间 按秒计算
psetex key milliseconds value 设置key的过期时间按毫秒计算
incr key 给key 加一,只能给数字加一
incrby key increment 给key 加上指定数字值
decr key 给key 减一
decrby key increment 给key减去指定的数字值
append key value 给指定的key 末尾追加字符串
lpush key value value value 给list 的 key 设置值
lrange key 0 10 查看list 集合的数据
lindex key index 根据索引获取list中的数据
llen key 获取list集合的长度
lpush key value value 将一个或者多个值 插入list 开头位置
sadd key value value 想set 中添加一个或者多个值
scard key 查看set的数据个数
smembers key 查看set中元素值
srem key value value 移除set中一个或者多个值
zadd key score value score value 向有序集合添加一个或多个成员,或者更新已存在成员的分数
zcard key 获取有序集合的个数
zrange key 0 10 withscores 获取有序集合数据按照分数排序
原文:https://www.cnblogs.com/zhukaixin/p/13103496.html