#hazelcast #hazelcast-imap
#hazelcast #hazelcast-imap
Вопрос:
Возможно ли установить ttl / истечение срока действия записи для отдельного ключа без выполнения ввода, т.е. без изменения значения ключа. Что-то похожее на EXPIRE в redis? Я могу выполнить «get», за которым следует «put», и установить ttl, но это было бы неэффективно при больших значениях.
hz = hazelcast.HazelcastClient()
test_map = hz.get_map('test_map')
val = test_map.get(key)
test_map.put(key, val, ttl)
Примечание — я использую hazelcast-python-client
Ответ №1:
Вы можете настроить TTL, изменив что-либо еще с помощью метода map.setTll():
IMap map = hz.getMap("testMap"); // get the map
map.setTtl("keyToModify", 1, TimeUnit.HOURS);
Комментарии:
1. Есть ли у нас эквивалент SETTL в hazelcast-python-client? Я не вижу ни одного в документации — hazelcast.github.io/hazelcast-python-client/3.12.3 /… , спасибо
2. Привет, Рам, я не уверен — я также не вижу этого в документах, и я не смог найти явного упоминания об этом в дорожной карте клиента Python. Я спросил об этом разработчиков клиента Python и дам вам знать, что я услышу в ответ.
3. Это было добавлено как проблема для клиента Python, см. github.com/hazelcast/hazelcast-python-client/issues/214 . Если вы заинтересованы в участии, наша команда может поработать с вами над процессом PR — мы всегда рады вовлечению сообщества в проекты, и это самый быстрый способ изменить ситуацию. Прямо сейчас команда Python сосредоточена на выпуске 4.0, но с помощью сообщества они, вероятно, могли бы быстро внести несколько небольших исправлений или улучшений, подобных этому. Если у вас есть какие-либо дополнительные замечания по проблеме, не стесняйтесь добавлять их к проблеме.