Network Security Internet Technology Development Database Servers Mobile Phone Android Software Apple Software Computer Software News IT Information

In addition to Weibo, there is also WeChat

Please pay attention

WeChat public account

Shulou

Analysis of pits encountered in moving Aliyun Redis

2025-03-30 Update From: SLTechnology News&Howtos shulou NAV: SLTechnology News&Howtos > Internet Technology >

Share

Shulou(Shulou.com)06/01 Report--

This article mainly introduces the "pit analysis encountered in moving Aliyun Redis". In the daily operation, I believe that many people have doubts about the pit analysis problems encountered in moving Aliyun Redis. The editor consulted all kinds of materials and sorted out simple and easy-to-use operation methods. I hope it will be helpful to answer the doubts about "pit analysis encountered in moving Aliyun Redis". Next, please follow the editor to study!

Background:

From self-built redis (CacheCloud) to migration to aliyun redis

1. Step on the "pit"

Question:

Usually, partners may use redis key expire nofity scenarios in their projects (for example, dealing with delayed tasks, etc.), but they find that key expiration notifications after migration are always an order of magnitude slower than those before migration (basically minutes, community version is basically seconds), even in very few key situations. Previously, they also communicated with aliyun support friends and gave feedback for more than a week.

Positioning:

For those of you who have learned about redis's expiration strategy and elimination strategy, you should know that for the lazy delete test, you traverse the entire db and randomly select 20 key (default). However, the default number of db for aliyun redis (using version 4.x) is 256 (16 for the community version).

Resolve:

Adjust the number of project redis db to 16

two。 Step on "pit" two.

Question:

After the migration of redis, when the domain name (aliyun redis exposes a domain name for the master-slave, sentry, cluster mode of the community version, etc.) points to ip, when the client accesses through the domain name, it still points to the old ip, resulting in no connection to redis~.

Positioning:

Looking at the source code of JedisConnectionFactory (take the cluster as an example), when initializing the afterPropertiesSet, the domain name has been resolved to the corresponding ip and cached. Therefore, after the domain name is switched to ip, the previous ip is still accessed.

Private JedisCluster createCluster () {JedisCluster cluster = createCluster (this.clusterConfig, getPoolConfig ()); JedisClusterConnection.JedisClusterTopologyProvider topologyProvider = new JedisClusterConnection.JedisClusterTopologyProvider (cluster); this.clusterCommandExecutor = new ClusterCommandExecutor (topologyProvider, new JedisClusterConnection.JedisClusterNodeResourceProvider (cluster, topologyProvider), EXCEPTION_TRANSLATION); return cluster;}

Resolve:

Restart the service after switching domain name ip

At this point, the study of "pit analysis encountered in moving Aliyun Redis" is over. I hope to be able to solve everyone's doubts. The collocation of theory and practice can better help you learn, go and try it! If you want to continue to learn more related knowledge, please continue to follow the website, the editor will continue to work hard to bring you more practical articles!

Welcome to subscribe "Shulou Technology Information " to get latest news, interesting things and hot topics in the IT industry, and controls the hottest and latest Internet news, technology news and IT industry trends.

Views: 0

*The comments in the above article only represent the author's personal views and do not represent the views and positions of this website. If you have more insights, please feel free to contribute and share.

Share To

Internet Technology

Wechat

© 2024 shulou.com SLNews company. All rights reserved.

12
Report