# RedisCache **Repository Path**: a9b9a9b9a9/RedisCache ## Basic Information - **Project Name**: RedisCache - **Description**: RedisCache是基于Jedis的SDK。 ①实现了防穿透缓存,分布式锁,分布式队列,本地缓存同步更新 ②个性化的redis源配置支持 - **Primary Language**: Java - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 82 - **Created**: 2017-10-01 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README Redis Cache = Tips: - required: JDK1.5+ Overview - #### `RedisCache`是基于`Jedis`的SDK。 + ①实现了防穿透`缓存`,`分布式锁`,`分布式队列`,本地缓存同步更新
+ ②个性化的redis源配置支持
# Usage: ### RedisCache `Normal Style` ```Java IRedisMap cache = Redis.use("redisSourceName"); cache.put("redisKey","redisValue"); cache.get("redisKey"); ``` `Fluent Style` ```Java IRedisMap cache = Redis.create().setServiceName("redisSourceName").build(); cache.put("redisKey","redisValue"); cache.get("redisKey"); ``` ### RedisLock `Normal Style` ```Java Lock lock = RedisLock.useSimpleRedisLock("simpleLock", "redisSourceName"); lock.lock(); lock.isLocking(); lock.unlock(); ``` `Fluent Style` ```Java Lock lock = RedisLock.create().setService("redisSourceName").setLockName("simpleLock").useSimpleRedisLock(); lock.lock(); lock.isLocking(); lock.unlock(); ``` ### RedisQueue `Normal Style` ```Java Queue queue = RedisQueue.useSimpleFifoQueue("simpleQueue","redisSourceName"); queue.enqueue(task1,task2,task3); Task task = queue.dequeue(); ``` `Fluent Style` ```Java Queue queue = RedisQueue.create().setService("redisSourceName").setQueueName("simpleQueue").useSimpleFifoQueue(); queue.enqueue(task1,task2,task3); Task task = queue.dequeue(); ``` # Configuration ## pattern I @for connection@ >>> service.names=redisSourceName,redisSourceName1,... ### Stand-Alone >>> redisSourceName.ip = 127.0.0.1
>>> redisSourceName.port = 6379
>>> redisSourceName.password=password
#### Simplified Way >>> redisSourceName.ip-port-password = 127.0.0.1:6379?password ### Sentinel >>> redisSourceName1.is.cluster = true
>>> redisSourceName1.sentinel.master.name = masterName
>>> redisSourceName1.sentinel.hosts = 127.0.0.1:6379;127.0.0.1:6389;127.0.0.1:6379;127.0.0.1:6399
>>> redisSourceName1.password = password
## pattern II @for basic@ >>> redisSourceName.open.local.cache = true
>>> redisSourceName[.read].timeoutInMillis = 10000
>>> redisSourceName[.write].timeoutInMillis = 10000
>>> redisSourceName[.read].maxTotal = 8
>>> redisSourceName[.write].maxTotal = 8
>>> redisSourceName[.read].maxIdle = 20
>>> redisSourceName[.write].maxIdle = 20
>>> redisSourceName[.read].maxWait = 2000
>>> redisSourceName[.write].maxWait = 2000
>>> redisSourceName[.read].testOnBorrow = true
>>> redisSourceName[.write].testOnBorrow = true
>>> redisSourceName[.read].testOnReturn = false
>>> redisSourceName[.write].testOnReturn = false
# Dependencies: redis.clients jedis org.slf4j slf4j-log4j12 commons-logging commons-logging org.slf4j slf4j-api com.google.guava guava com.google.code.gson gson