NutzCN Logo
问答 redis.json哪些是有用的
发布于 2345天前 作者 qq_64f81159 1313 次浏览 复制 上一个帖子 下一个帖子
标签:
var ioc = {
		jedisPoolConfig : {
			type : "redis.clients.jedis.JedisPoolConfig",
			fields : {
				testWhileIdle : true, // 空闲时测试,免得redis连接空闲时间长了断线
				maxTotal : {java : "$conf.getInt('redis.maxTotal', 100)"} // 一般都够了吧
			}
		},
		jedisPool : {
			type : "redis.clients.jedis.JedisPool",
			args : [
			        {refer : "jedisPoolConfig"},
			        // 从配置文件中读取redis服务器信息
			        {java : "$conf.get('redis.host', 'localhost')"},
			        {java : "$conf.getInt('redis.port', 6379)"},
			        {java : "$conf.getInt('redis.timeout', 2000)"},
			        {java : "$conf.get('redis.password')"},
			        {java : "$conf.getInt('redis.database', 0)"}
			        ],
			fields : {},
			events : {
				depose : "destroy" // 关闭应用时必须关掉呢
			}
		},
		jedisClusterNodes : {
			type : "java.util.HashSet",
			args : [
				[{
					type : "redis.clients.jedis.HostAndPort",
					args : [
						{java : "$conf.get('redis.host', 'localhost')"},
						{java : "$conf.getInt('redis.port', 6379)"}
					]
				}]
			]
		},
		jedisCluster : {
			type : "redis.clients.jedis.JedisCluster",
			args : [
				{refer:"jedisClusterNodes"},
				{refer:"jedisPoolConfig"}
			],
			events : {
				depose : "close"
			}
		},
		redis : {
			type : "org.nutz.integration.jedis.RedisInterceptor",
			fields : {
				jedisAgent : {refer:"jedisAgent"}
			}
		},
		redisService : {
			type : "org.nutz.integration.jedis.RedisService"
		},
		pubSubService : {
			type : "org.nutz.integration.jedis.pubsub.PubSubService",
			fields : {
				jedisAgent : {refer:"jedisAgent"}
			},
			events : {
				depose : "depose"
			}
		},
		jedisAgent : {
			type : "org.nutz.integration.jedis.JedisAgent",
			fields : {
				ioc : {refer:"$ioc"},
				conf : {refer:"conf"}
			}
		},
		jedisClusterWrapper : {
			type : "org.nutz.integration.jedis.JedisClusterWrapper",
			args : [{refer:"jedisCluster"}]
		}
};

这个配置文件哪些是有用的,就是必须用到的 ,不知道这bean配置有啥用。。现在用的ehcache做一级缓存,redis做二级缓存,redis是单机,没有集群,另外怎么往redis上面存东西呢?比如我服务启动的时候要读取一部分数据库数据存到redis中,然后每次直接从redis中取,为啥我看 LCacheManager.me().getCache,没有一个方法能向cache中添加数据呢。。

5 回复

Cache接口的put方法就是添加

org.nutz.plugins.cache.impl.lcache.LCacheManager不是这样的吗public class LCacheManager implements CacheManager, Runnable, Destroyable, Initializable
并没有实现cache接口,也并没有put方法啊,我该怎么put呢,这个里面有个getCache,返回的却是LCache,这个里面倒是有put方法,但是这个参数name是干什么的。。
public <K, V> Cache<K, V> getCache(String name) {
LCache<K, V> combo = caches.get(name);
if (combo != null)
return (Cache<K, V>) combo;
combo = new LCache<K, V>(name);
if (level1 != null)
combo.add((Cache<K, V>) level1.getCache(name));
if (level2 != null)
combo.add((Cache<K, V>) level2.getCache(name));
caches.put(name, combo);
return combo;
}

求助。。。,
我总不能直接在setup中这么写把
JedisAgent agent = ioc.get(JedisAgent.class);
System.out.println("-------------agent------------------------"+agent);
agent.jedis().set("db_dict","123");

另外这样set以后我从redis拿和从数据库查有区别吗? 从效率上来说

或者这样set进jedis LCacheManager.me().jedis().set(key, value),然后得的时候LCacheManager.me().jedis().get(key)?

要么走LCacheManager的Cache接口, 要么走JedisAgent, 不要混着来

添加回复
请先登陆
回到顶部