首先,你一定知道redis是单线程的NoSQL落地产品。既然是NOSQL肯定是可以做一些数据库的事情,但在这个之外,它可以有高效进行内存缓存。明白点就是将数据存放于内存中而不是每次都从数据库的存储文件上面捣腾。这样速度就可以很快。
既然是基于内存进行缓存,那必然有一点不能放太大太多的数据,所以第一点,大家一定放一些实用性较高,命中率较高的数据。这样不至于占着茅坑不拉屎。所以,结合起来就是,需要查询的存储数据比较多,而每次几乎只查这么多数据中的其中一小部分经常使用的数据时,就用他了!
第二点,既然是单线程!那么你怕啥?你想到啥?高并发环境呀!对!针对一些高并发的数据排队,任务执行时候,可以通过Redis进行分布式锁的控制。
第三点,还有啥?太多了!可以做订阅发布,服务注册……
但是!大家公司和支付宝等大企业很多架构师明确提出,中间件的就应该做自己该做的事情!Redis其实开发的初衷就是缓存储缓存!其他功能都是对它的扩展和包装!不建议使用!就把它当成一个分布式缓存中间件来用吧!其他扩展功能都有对应的其他中间件。
不越俎代庖,不推诿避任!它就是一个缓存中间件。
感谢指导,相互指正学习!