標籤:move string 區分 符號 hash default 雜湊類型 bsp nbsp
redis是一個key-value儲存系統。和Memcached類似,它支援儲存的value類型相對更多,包括string(字串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和hash(雜湊類型)。這些資料類型都支援push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,redis支援各種不同方式的排序。與memcached一樣,為了保證效率,資料都是緩衝在記憶體中。區別的是redis會周期性的把更新的資料寫入磁碟或者把修改操作寫入追加的記錄檔案,並且在此基礎上實現了master-slave(主從)同步。
1.緩衝的對象必須實現序列化介面
2.使用redis儲存資料的時候,有時候為了查看的方便,通常會有層級或者說是目錄,這時候我們在set的時候,需要將key值使用“:”的符號來區分層級關係,比如:@Cacheable(value = "users",key = "‘user:‘ + #user.userId "),那麼在redis中就是user目錄下的
key值為userId.
3.配置緩衝管理器:
@Configuration@EnableCachingpublic class RedisCacheConfig extends CachingConfigurerSupport { @Bean public JedisConnectionFactory redisConnectionFactory() { JedisConnectionFactory redisConnectionFactory = new JedisConnectionFactory(); // Defaults redisConnectionFactory.setHostName("127.0.0.1"); redisConnectionFactory.setPort(6379); return redisConnectionFactory; }
@Bean public RedisTemplate<String, String> redisTemplate(RedisConnectionFactory cf) { RedisTemplate<String, String> redisTemplate = new RedisTemplate<String, String>(); redisTemplate.setConnectionFactory(cf); return redisTemplate; }
@Bean public CacheManager cacheManager(RedisTemplate redisTemplate) { RedisCacheManager cacheManager = new RedisCacheManager(redisTemplate); // 設定預設的緩衝到期時間 預設為無限 單位:秒 cacheManager.setDefaultExpiration(60*60); return cacheManager; }
4.持續更新。。。
Spring+redis整合遇到的問題集以及注意事項