1. 简介:
Redis是Remote Dictionary Server的简写,它是一种key-value形式的NoSql内存数据库,单线程架构,数据存放内存,故读写速度性能非常好;当然也支持内存中数据以快照和日志形式持久化到硬盘,从而在发生异常情况下数据也不会丢失。
特点:A. 性能高,速度快:读写性能能达到10w/s;
B. 丰富的数据结构:如字符串、哈希、列表、集合、有序集合等;
C. 丰富的特性:键过期实现定时缓存、发布订阅实现消息队列、事务功能、管道实现批量处理命令等;
D. 丰富的客户端:主流的开发语言都接入了redis
应有场景:A. 缓存:能够提升网站访问速度,大大降低数据库的压力;
B. 排行榜:有序集合机构实现复杂排行;
C. 计数器:用incr命令实现,适用于商品浏览量及视频播放量等;
D. 分布式会话:集群模式下,用redis搭建session服务;
E. 分布式锁:用setnx实现,适合并发访问高(全局ID、秒杀)的情况,并发不高可用数据库悲观锁和乐观锁控制;
F. 社交网络:用哈希或集合等数据结构实现,适合点赞等;
G. 最新列表:lpush + ltrim来实现
H. 消息系统:适合简单的消息队列,注意:不推荐使用,一致性等问题多
2. 常用操作命令
(1) 管理命令
A. 启动:redis-server [--port 6379] | redis-server [../redis.conf]
B. 连接:redis-cli -h 127.0.0.1 -p 6379 [-c]
C. 停止:redis-cli shutdown | kill redis-pid
(2) key命令
A. keys patten:*是通配符,代表任意字符,该命令在生产环境不建议使用;
B. del key [key ...]:删除键,可以同时删除多个;
C. type key:查询键类型;
D. expire key seconds:设置过期时间,秒级别;
E. ttl key:查询key的生命周期,秒级别,-1代表永不过期;
(3) string命令
A. set key value:存放键值;
B. get key:获取键值;
C. mset key value [key1 value1 ..]:批量存放键值;
D. mget key [key1 ...]:批量获取键值
(4) set命令:集合是无需且不可重复的
(5) sort set命令:有序集合是散列表和跳跃表实现的,读取中间的元素较快,比列表占内存
(6) list命令:列表是有序且可重复的,使用双向链表实现,两头快,中间慢
(7) hash命令:散列是字典结构形式
3.
可参考:Redis中方官网
来源:https://www.cnblogs.com/ruhuanxingyun/p/12209244.html