基于这些特点,Redis 一般用来实现分布式缓存,从而降低应用程序对关系型数据库检索带来的性能影响。除此之外,Redis 还可以实现分布式锁、分布式队列、排行榜、查找附近的人等功能,为复杂应用提供非常方便和成熟的解决方案
Redis 没有采用多线程来执行指令,有几个方面的原因:
对于客户端层面的线程安全性问题,解决方法有很多,比如尽可能的使用 Redis里面的原子指令(SETNX/GETSET/INCR/DECR/MSET/MSETNX/HSET/MSETNX/LPUSH/RPUSH),或者对多个客户端的资源访问加锁,或者通过 Lua 脚本来实现多个指令的操作等等。
只要能够满足这些特性的技术组件都能够实现分布式锁。