spring集成redis
@CacheEvict(value = "commonCache", key = "#uniqueid+'_userInfo'")
?什么時候會執行緩存移除呢?如果方法執行異常是否移除?如果緩存不存在還會移除么?
這個移除會在redis的執行歷史命令中監控到么?
./redis-cli -a密碼 MINITOR? 監控redis的實時執行命令,大部分PING是類似心跳?
使用這個實時監控命令,可以 使用grep管道過濾出指定的key來監控redis命令的執行
第一次緩存存在的情況下,執行方法,會有一條del命令;
第二次緩存不存在的情況下,執行方法,也會執行del命令;
所以不管有沒有緩存 @CacheEvict 都會執行 redis的 DEL命令
redis 集群同步
????????由于業務需要2個平臺redis做了單向同步? ?A-->B ,其實具體原理不甚了解,用的阿里云的redis產品,同步也是由運維同學做的,運維的意思是抓取A的redis-server的日志在B集群上執行相同的命令;
? ? ? ? 但測試發現有些場景并不能同步
????????但發現A測執行del的命令,B測的key并沒有刪除為什么?? 如果是A生成的key,A刪除可以同步刪除B,如果B自己生成的key,A測沒有這個key,在A測執行 del 是沒法同步到B的 (是因為根據del的結果決定是否同步么還是什么原理?)