I find the configure in this, it just said the command to use the specify configure:
./redis-server <path>/redis.conf
But,I have no idea about how to write the configure. So I have find the default configure in this. But, I still don't understand how to set max memory. Does it just add this line in configure?
maxmemory 2mb
By the way, I want to know how much the default memory is. and I want to set the memory to 2GB, how to do it?
Then, I have added this line to the redis configure to set maxmemory to 40GB:
maxmemory 41943040
And I use the command in redis-cli:
config get maxmemory
it show me:
127.0.0.1:6379> config get maxmemory
1) "maxmemory"
2) "41943040"
But, my java program throw the exception like this when key number is about 200000:
Exception in thread "Thread-228" redis.clients.jedis.exceptions.JedisDataException: OOM command not allowed when used memory > 'maxmemory'.
at redis.clients.jedis.Protocol.processError(Protocol.java:117)
at redis.clients.jedis.Protocol.process(Protocol.java:151)
at redis.clients.jedis.Protocol.read(Protocol.java:205)
at redis.clients.jedis.Connection.readProtocolWithCheckingBroken(Connection.java:297)
at redis.clients.jedis.Connection.getStatusCodeReply(Connection.java:196)
at redis.clients.jedis.Jedis.hmset(Jedis.java:644)
at cn.ict.dt2redis.analyser.AbstractAnalyser.pushOne(AbstractAnalyser.java:21)
at cn.ict.dt2redis.analyser.BatchAbstractAnalyser.run(BatchAbstractAnalyser.java:16)
at java.lang.Thread.run(Thread.java:722)
I have no idea about it, do I success in setting max memory to 40 GB? How to do it? please give me some code in detail.
question from:
https://stackoverflow.com/questions/33115325/how-to-set-redis-max-memory 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…