这篇文章是我在认识Redis过程中的一些笔记
什么是Redis
官网的介绍:
Redis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker.
简单来说就是一个数据存储在内存中的一个key-value存储系统。
通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。而键(key)只能是字符串类型(String)
Redis有什么优势
支持多种数据结构k
key-value系统中的值支持多种数据结构:字符串(String), 哈希(Map), 列表(list), 集合(sets) 和 有序集合(sorted sets)。使得我们使用的时候更加方便,更容易和已有的代码进行整合
持久化存储
redis使用rdb和aof做数据的持久化存储。主从数据同时,生成rdb文件,并利用缓冲区添加新的数据更新操作做对应的同步。将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
性能好
因为数据是存储在内存中,所以读写速度非常高。Redis能读的速度是110000次/s,写的速度是81000次/s 。
原子性
Redis的所有操作都是原子的,同时支持几个操作合并以后的原子性
丰富的特性
支持pulish/subscribe、key过期等特性
Redis有什么缺点
使用内存,资源有限
因为数据存储在内存中,单台机器的存储数据量跟机器本身的内存大小有很大的关系。虽然redis本身有key过期策略,但是还是需要提前预估和节约内存。如果内存增长过快,需要定期删除数据。
Redis 适用场景
Redis因为其性能非常,所以很多在普通数据上运行不够理想的功能使用Redis都能够得到比较好的效果
需要快速排序的相关应用
像排行榜、过期项目这些功能需要我们快速排序并进行更新,我们就可以使用到Redis
计数
在很多普通数据库中实现一个计数器的功能往往会遇到写入敏感等一些问题。这个在Redis中能够有很好的解决:Redis支持原子递增(atomic increment)
缓存
Redis能够替代memcached,让你的缓存从只能存储数据变得能够更新数据,因此你不再需要每次都重新生成数据了。
安装及使用
这里可以参考官方文档或者菜鸟教程