提到这个词,脑海里一连串:它是什么,能干什么,怎么干的,不用它行不行,有没有同类……
其实就是5W2H,或者说凡事多问个为什么
先放官网:
它是开源存储软件,可以做缓存、存储、解耦系统/服务
性能极好,读并发11w/s,写并发8w/s,单进程单线程,nosql,kv
用redis做缓存的场景居多,在它之前,用memcached做缓存,两者有异同
redis支持更多的数据类型,有5种,memcached只支持简单的字符串;
redis支持数据的持久化,而memcached断电后会丢失内存数据;
redis的value最大支持512MB,memcached为1MB(貌似可调?暂存疑)
redis各个数据类型都有对应的操作命令,可以用命令/api完成我们的业务操作,让开发变得简单
强烈建议,安装redis,将各个命令敲下,达到熟练
其他,
redis主从复制:
配置上也是超级简单,再深究就是它的复制流程、常见主从配置,比如从是如何连接的,从可以连接从
布隆过滤器:
检索一个元素是否在一个集合中。
优点:空间效率和查询时间都比一般的算法要好的多
缺点:有一定的误识别率和删除困难
核心:利用多个不同的Hash函数来解决“冲突”
通过其中的一个Hash值我们得出某元素不在集合中,那么该元素肯定不在集合中。
只有在所有的Hash函数告诉我们该元素在集合中时,才能确定该元素存在于集合中
redis事务:和常规事务有些偏差,比如转账,A转给B100元,事务包含:A余额扣减100,B余额加100,常规理解:两步操作没有都成功就要回滚/不操作,但是对于不成熟的redis来说,当开启事务后,在最后提交时,它会把步骤中能成功的提交,所以,还是不太建议用redis事务控制重要业务
哨兵、redis集群、redis的发布订阅、redis底层虚拟机、redis键的淘汰策略、虚拟内存、数据一致性的保证、redis各个数据类型的底层数据结构……
参照官网去学习,再加上一些先行者的博客,可以了解大厂都在怎么用