Redis 入门
Redis 入门
在海量用户和高并发的情况下,关系型数据库会出现 “翻车” 的现象,这是因为关系型数据库的数据是存储在磁盘上,每次访问都要经过高速缓存、内存、磁盘等逐级传递的过程。缺点有:磁盘 IO 性能低下;关系型数据库中数据关系复杂,扩展性差,不便于大规模的集群。
解决办法:降低磁盘 IO 次数;去除数据间关系。也就是说使用内存存储,不存储数据关系,只存储数据 。这种方式简称 NoSQL(Not-Only SQL,泛指非关系型数据库),定位是对关系数据库的补充,应对基于海量用户和海量数据前提下的数据处理问题。但是真正的数据还是要存储在磁盘上,还是需要关系性数据库。NoSQL 数据库常见的特征如下:
- 可扩容,可伸缩
- 大数据量下高性能
- 灵活的数据模型
- 高可用
常见的 NoSQL 数据库有:Redis、mencache、HBase、MongoDB,nosql 到底处于在一个什么位置,如下图所示:
Redis 简介
-
概念:Redis (REmote DIctionary Server) 是用 C 语言开发的一个开源的高性能键值对(key-value)数据库。
-
特征:
- 数据间没有必然的关联关系
- 内部采用单线程机制进行工作
- 高性能
- 多数据类型支持,有字符串类型、列表类型、散列类型、集合类型以及有序集合类型
- 持久化支持。可以进行数据灾难恢复
应用:
- 为热点数据加速查询(主要场景),如热点商品、热点新闻、热点资讯、推广类等高访问量信息等
- 任务队列,如秒杀、抢购、购票排队等
- 即时信息查询,如各位排行榜、各类网站访问统计、公交到站信息、在线人数信息(聊天室、网站)、设备信号等
- 时效性信息控制,如验证码控制、投票控制等
- 分布式数据共享,如分布式集群架构中的 session 分离
- 消息队列
- 分布式锁
Redis 基本操作
添加信息
功能:设置 key,value 数据
语法:
set key value
示例:
set name jeffery
信息查询
功能:根据 key 查询对应的 value,如果不存在,返回 nil
语法:
get key
示例:
get name
客户端退出
功能:退出客户端
语法:
quit 或 exit 或 <ESC>
帮助
功能:获取命令帮助文档,获取组中所有命令信息名称
语法:
help 命令名称
help @组名
结果如下