以前项目都比较侧重于业务,从来没有去学习或者折腾过系统的缓存这一块,在开发物联网项目的过程中,有机会在项目中搭建了一个redis的服务。没进入项目之前,没有听说过redis这些东西,连基本的概念都不知道。后来接触项目的时候,趁着边工作的时间,在网上寻找一些资料来更加深入了解redis.
网上说Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。可是之前一直从同事了解到以为redis是一个缓存解决方案,看来是我了解的片面。Redis是运行在内存中的,但是同时可以持久化到磁盘。
redis的优势:
异常快- Redis非常快,每秒可执行大约110000次的设置(SET)操作,每秒大约可执行81000次的读取/获取(GET)操作。
支持丰富的数据类型- Redis支持开发人员常用的大多数数据类型,例如列表,集合,排序集和散列等等。这使得Redis很容易被用来解决各种问题,因为我们知道哪些问题可以更好使用地哪些数据类型来处理解决。
操作具有原子性- 所有Redis操作都是原子操作,这确保如果两个客户端并发访问,Redis服务器能接收更新的值。
多实用工具- Redis是一个多实用工具,可用于多种用例,如:缓存,消息队列(Redis本地支持发布/订阅),应用程序中的任何短期数据,例如,web应用程序中的会话,网页命中计数等。
Redis是键值数据库系统的不同进化路线,它的值可以包含更复杂的数据类型,可在这些数据类型上定义原子操作。
Redis是一个内存数据库,但在磁盘数据库上是持久的,因此它代表了一个不同的权衡,在这种情况下,在不能大于存储器(内存)的数据集的限制下实现非常高的写和读速度。
内存数据库的另一个优点是,它与磁盘上的相同数据结构相比,复杂数据结构在内存中存储表示更容易操作。 因此,Redis可以做很少的内部复杂性。
在同事的帮助下以及上网查找各种资料的途径,成功在项目里redis和spring进行了集成,具体怎么集成的,我把步骤记录到了有道云的笔记里面了。主要一个感受就是凡事都不难,只要用心去找解决办法,不懂多去咨询身边懂得朋友。
redis缓存的使用确实对系统的访问速度提高了不止一点点,把类似于字典,用户信息,企业信息等一些不会经常变动的数据放入redis缓存中,可以提高用户的访问速度,带来更好的用户体验。
以上的理解还只是过于表面,并没有深入的了解redis的缓存机制和原理,还只停留在用的阶段,但是想通过边用边学习的过程慢慢深入了解redis的缓存原理。当然要想先了解redis的缓存机制,还需要更加扎实的基础知识。