1.redis介绍
特点:速度快,多种数据结构,简单稳定,客户端支持语言多,持久化,主从,高可用和分布式
速度快:基于键值对的NoSQL数据库,将数据都放入内存中,使用C语言,单线程架构
数据结构:字符串,哈希,列表,集合,有序集合
键过期功能,实现缓存,简单稳定不依赖操作系统中的类库,使用单线程
持久化:RDB和AOF
高可用和分布式:集群,哨兵
2. Redis基本操作命令
2.1 字符串:Redis Strings
...
db01:6379> set key1 value1 --插入键值
db01:6379> get key1 --查看键值的内容
db01:6379> keys * --查看全部键值,生产上危险操作
db01:6379> MSET k1 10 k2 11 k3 13 --批量插入
db01:6379> MGET k1 k2 k3 --批量查看
db01:6379> incr key2 --在原有值的基础上自增1
db01:6379> incrby key2 100 --自定义自值
db01:6379> DEL k1 --删除键值
db01:6379> EXISTS k1 --判断键值是否存在,存在返回1,否则为0
db01:6379> TYPE k2 --判断键值的数据类型
db01:6379> ttl key5 --查看键值的过期时间
db01:6379> EXPIRE k3 100 --设置键值的 过期时间(如果在过期时间中重新设置键值 会导致过期时间失效),默认为秒,过期删除
db01:6379> PERSIST k2 --取消过期时间
...
2. 2 列表操作:list
...
db01:6379> RPUSH list1 1 --从未尾插入一个
db01:6379> RPOP list1 --删除最后一个
db01:6379> LPUSH list1 A --插入第一个
db01:6379> LPOP list1 --删除最前面一个
db01:6379> LLEN list1 --查看列表的长度
db01:6379> LRANGE list1 0 -1 --查看全部列表的数据
db01:6379> LRANGE list1 0 2 --范围查找(0-2)
db01:6379> LPUSH list1 1 2 3 4 5 6 7 --批量插入,但是不通批量删除
...
2.3 哈希(Hash),一般用于做mysql的缓存层
...
db01:6379> hmset user:1000 username zhangya age 27 job it --插入数据
db01:6379> hmget user:1000 username age job --查看信息
db01:6379> HGETALL user:1000 --查看全部
...
2.4 集合
...
db01:6379> SADD set1 1 2 3 4 5 --写入集合
db01:6379> smembers set1 --查看集合
db01:6379> sinter set1 set2 --计算集合的交集
db01:6379> SUNION set1 set2 --集合之间的并集
db01:6379> sdiff set1 set2 --计算集合之间的差异
...