Я нахожу configure в this, он просто сказал, что команда использует команду configure:
./redis-server <path>/redis.conf
Но я понятия не имею, как написать configure. Поэтому я нашел конфигурацию по умолчанию в этом. Но я до сих пор не понимаю, как установить максимальную память. Он просто добавляет эту строку в configure?
maxmemory 2mb
Кстати, я хочу знать, сколько стоит память по умолчанию. и я хочу установить память на 2 ГБ, как это сделать?
Затем я добавил эту строку в redis configure, чтобы установить maxmemory в 40GB:
maxmemory 41943040
И я использую команду в redis-cli:
config get maxmemory
это покажет мне:
127.0.0.1:6379> config get maxmemory
1) "maxmemory"
2) "41943040"
Но, моя java-программа генерирует исключение, подобное этому, когда номер ключа составляет около 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)
Я понятия не имею, успел ли установить максимальную память до 40 ГБ? Как это сделать? пожалуйста, дайте мне код в деталях.