一起来学redis(一)
redis是一个开源的,高性能的,基于键值对的缓存与存储系统通过提供多种键值数据类型来适应不同场景下的缓存与存储需求。
同时redis的诸多高层级功能使其可以胜任消息队列,任务队列等不同的角色。
特性
Redis是Remote Dictionary Server(远程字典服务器的缩写)
,他以字典结构存储数据。目前redis支持的键值类型的数据如下:
字符串类型,散列类型,列表类型,集合类型,有序集合类型。
redis字典结构的存储方式和对多种键值数据类型的支持,我们可以将程序中的数据直接反映到redis中,
数据在redis中的存储形式和其在程序中的存储方式非常接近。另外redis的另一个优势是针对不同的数据类型提供了方便的操作方式,
如使用集合类型存储文章标签,redis可以对标签进行如交集,并集这样的集合运算操作。
内存存储与持久化
redis数据库中的所有数据都存储在内存中。所以性能上讲比其他数据需要存储到硬盘的数据库比如mysql来说高很多。
但是将数据存储在内存也有问题,于是redis还提供了持久化存储,将内存中的数据异步写入到键盘中,同时不影响继续提供服务。
功能丰富
消息队列,缓存系统等。
redis可以为每个键设置生存时间,生存时间到期后会自动被删除所以这个功能可以被用来设计缓存系统。作为缓存系统,
redis还提供限定数据占用的最大内存空间,载数据达到空间限制后可以按照一定的规则自动淘汰不需要的键。
除此之外,redis的列表类型键可以来实现队列,并支持阻塞式读取,可以容易的实现高性能优先级队列。
简单稳定
在redis中提供了100多个命令,其实常用也就10几个。
redis使用c语言开发代码3万行左右,用户可以通过修改源码自己拓展内容
《redis入门指南(第二版)》学习笔记。