• Geek_04f704
    2020-12-16
    老师,redis支持多线程后,怎么实现单命令操作原子性的?

    作者回复: Redis 6.0中的多线程只是指,在客户端请求接收和解析,以及请求后的数据通过网络返回给客户端时,使用了多线程。而命令请求本身的数据读写操作还是由单线程来完成的,所以仍然可以保证单命令操作的原子性。

    共 4 条评论
    23
  • 东
    2020-11-23
    6.0的权限细粒度控制对我们很有用,以前多个微服务共享同一个redis集群,权限没法隔离,现在可以控制不同的服务使用不同的key前缀,从而很好的隔离了服务,可以有效避免误操作,或者一个服务的bug影响到所有服务。

    作者回复: 这是个很好的用例场景!

    
    13
  • 🌾🌾🌾小麦🌾...
    2020-12-19
    请问老师客户端缓存端缓存会不会导致缓存污染及内存泄露问题?

    作者回复: 我们说的缓存污染一般是指缓存系统里面的数据不被访问,但是由于缓存策略没有及时淘汰,又滞留在缓存中,导致缓存空间被占用,但是又不服务访问请求,造成了污染。 客户端缓存的主要问题是要和缓存系统中的数据保存一致,也就是说缓存系统中的数据被更新了,客户端需要及时做invalidation操作,避免应用在客户端缓存中读到旧的缓存数据。 内存泄露一般是内存没有正确回收导致的,和缓存污染、客户端缓存倒没有必然的联系。

    
    8
  • Dolly
    2020-12-31
    客户端缓存那个直接解决redis和本地缓存的一致性问题

    作者回复: 除了保证一致性,客户端缓存本身也能加速访问,所以,这个特性是Redis 6.0中比较重要的一个,可以重点关注 :)

    
    7
  • pretty.zh
    2020-11-23
    老师,redis常量池是什么

    作者回复: 你说的是指Redis中的整数对象共享池么?例如0到9999这些整数会被频繁用到,所以,使用共享对象来表示这些数,每个数只存一份String对象,可以节省内存空间。

    
    5
  • Kaito
    2020-11-23
    Redis 6.0 的哪些新特性帮助最大? 我觉得 Redis 6.0 提供的多 IO 线程和客户端缓存这两大特性,对于我们使用 Redis 帮助最大。 多 IO 线程可以让 Redis 在并发量非常大时,让其性能再上一个台阶,性能提升近 1 倍,对于单机 Redis 性能要求更高的业务场景,非常有帮助。 而客户端缓存可以让 Redis 的数据缓存在客户端,相当于每个应用进程多了一个本地缓存,Redis 数据没有变化时,业务直接在应用进程内就能拿到数据,这不仅节省了网络带宽,降低了 Redis 的请求压力,还充分利用了业务应用的资源,对应用性能的提升也非常大。
    共 12 条评论
    103
  • 那时刻
    2020-11-23
    Redis 6.0增加了IO线程来处理网络请求,如果客户端先发送了一个`set key1 val1`写命令,紧接着发送一个`get key1`读命令。请问老师,由于IO线程是多线程处理的,是否会导致`get key1`读命令 先于 `set key1 val1`写命令执行呢?结果客户端读到了key1的旧值。
    共 14 条评论
    19
  • 王世艺
    2020-11-23
    多线程io和epoll啥区别
    共 4 条评论
    15
  • kevin
    2020-11-23
    请问下,redis的客户端缓存与业务实例的本地缓存有区别吗?
    
    4
  • 听秋
    2021-12-26
    老师,客户端缓存的普通模式,当不在收到服务端的通知时,服务端 的 key 被修改了,应用读的是缓存到本地的数据,那不就读到旧数据了吗?
    共 1 条评论
    1