अपवाद का कारण शायद यह है कि स्प्रिंग टेम्पलेट कार्यान्वयन .multi()
के लिए समान कनेक्शन का पुन:उपयोग नहीं करता है और .exec()
. आप execute()
. का उपयोग करने का प्रयास कर सकते हैं कॉलबैक के माध्यम से:
private RedisTemplate template = ...;
template.execute(
new RedisCallback() {
@Override
public Object doInRedis(RedisConnection connection)
throws DataAccessException {
connection.multi();
//do whatever you need, like deleting and repopulating some keys
connection.expire(CHANNEL_KEY.getBytes(), EXPIRE_SECS);
connection.exec();
return null;
}
}
);