मैं स्प्रिंग एमवीसी का उपयोग कर एक वेब अनुप्रयोग विकसित कर रहा हूं और मैं अपने डेटाबेस प्रश्नों को कैश करने के लिए रेडिस के साथ वसंत के कैश अबास्ट्रक्शन का उपयोग कर उपयोग कर रहा हूं। लेकिन मैं @Cacheable
का उपयोग कर एकाधिक कैश स्टोर बनाने में सक्षम नहीं हूं।रेडिस के साथ स्प्रिंग के कैश अबास्ट्रक्शन का उपयोग करके एकाधिक कैश स्टोर बनाना संभव है?
@Cacheable("acache")
public String atest(int i) {
return "a";
}
@Cacheable("bcache")
public String btest(int i) {
return "b";
}
...
...
String s = atest(1);
String r = btest(1);
का उपयोग redis, दोनों s
और r
एक ही मूल्य "a
" है। भले ही मैं अलग-अलग कैशों में दो तरीकों को कैश करता हूं, ऐसा लगता है कि इसका कोई असर नहीं पड़ता है।
लेकिन जब मैं वसंत के SimpleCacheManager
का उपयोग करता हूं तो यह ठीक काम करता है। Redis के लिए
वसंत सेम विन्यास:
<cache:annotation-driven />
<bean id="jedisConnectionFactory"
class="org.springframework.data.redis.connection.jedis.JedisConnectionFactory"
p:hostName="${redis.host-name}"
p:port="${redis.port}"
p:usePool="true"/>
<bean id="redisTemplate"
class="org.springframework.data.redis.core.RedisTemplate"
p:connectionFactory-ref="jedisConnectionFactory"/>
<bean id="cacheManager"
class="org.springframework.data.redis.cache.RedisCacheManager"
c:template-ref="redisTemplate">
</bean>
क्या आप अपनी स्प्रिंग बीन्स कॉन्फ़िगरेशन दिखा सकते हैं? – ragnor
बीन्स कॉन्फ़िगरेशन जोड़ा गया। –