主要是从两个角度去考虑:性能和并发。当然,redis还具备可以做分布式锁等其他功能,但是如果只是为了分布式锁这些其他功能,完全还有其他中间件(如zookpeer等)代替,并不是非要使用redis。因此,这个问题主要从性能和并发两个角度去答。
分布式锁、订阅发布/消息队列、事务等,都是它的辅助,完全可以由其他中间健代替,没有必要完全使用它,之所以使用Redis关键还是他的高性能和高并发。
扩充:
在理想状态下,我们的页面跳转需要在瞬间解决,对于页内操作则需要在刹那间解决。另外,超过一弹指的耗时操作要有进度提示,并且可以随时中止或取消,这样才能给用户最好的体验。
那么瞬间、刹那、一弹指具体是多少时间呢?
根据《摩诃僧祗律》记载
一刹那者为一念,二十念为一瞬,二十瞬为一弹指,
二十弹指为一罗预,二十罗预为一须臾,
一日一夜有三十须臾。
那么,经过周密的计算,一瞬间为0.36 秒,一刹那有 0.018 秒.一弹指长达 7.2 秒。
高性能与低延迟:Redis使用内存作为主存储介质,这使得读写操作非常快速,通常达到微秒级响应时间。这对于需要高速数据访问的应用场景至关重要
轻量级和高并发处理能力:Redis是单进程模型,采用单线程架构,避免了多线程的竞争开销,适合高并发环境。其纯内存操作和高效的I/O多路复用机制进一步提升了性能。10w/s的处理速度,DB理想状态是1w/s,DB数据落盘,磁盘是网络IO的性能主要影响之一,Redis主要是内存,响应速度是非常快。
pipline批处理,可以达到100w/s的理想速度。