Есть ли у Redis сообщение с атомом GET
+ EXPIRE
? Это будет действовать как скользящее значение срока действия: попытайтесь получить значение, указанное ключом, а затем , только если ключ был найден с этим запросом, установите время для жизни в течение X секунд.Redis atomic GET и EXPIRE
1
A
ответ
3
Нет, нет, но нет ничего, что мешает вам отправлять две команды один за другим в блоке MULTI/EXEC
или с использованием сценария Lua. Использование EXPIRE
для несуществующего ключа ничего не делает.
0
Или я использую простой Lua скрипт:
local val, err = redis.pcall('GET', KEYS[1])
if err then
return err
end
redis.call('EXPIRE', KEYS[1], ARGV[1])
return {val}
В Golang вы можете сделать:
import "github.com/go-redis/redis"
const lua = `
local val, err = redis.pcall('GET', KEYS[1])
if err then
return err
end
redis.call('EXPIRE', KEYS[1], ARGV[1])
return {val}
`
redisGetEx = redis.NewScript(lua)
result, err = redisGetEx.Run(redisClient, []string{"key"}, 1800).Result()
Смежные вопросы
- 1. Redis expire и increment
- 2. Настройка Redis expire algorithm
- 3. EXPIRE Ключ Redis, если не был изменен
- 4. Абонент Redis не уведомлен ключем EXPIRE 0
- 5. Как «EXPIRE» дочерний ключ «HSET» в redis?
- 6. Как реализовать redis session expire в aiohttp
- 7. Ecto/SQL - atomic get/set
- 8. Microsoft.Data.SQLite (.net core) get atomic last_insert_rowid
- 9. Redis mget vs get
- 10. Redis pre GET event
- 11. Redis nodejs get filter
- 12. RedisTemplate expire не работает
- 13. как сделать Redis expire событие только отправить одному клиенту
- 14. Как вызвать команду EXPIRE для записи Redis с помощью Sails
- 15. aws elasticache redis set и get
- 16. #php - "page expire" вместо "session expire"
- 17. Redis GET против SQL SELECT
- 18. Redis GET возвращает функцию undefined
- 19. Redis подстановочные ключи на get
- 20. redis get function return None
- 21. socket.io-redis get trailing bytes error in redis 3.0.6
- 22. Boost atomic 128 bit atomic type x86_64
- 23. Loopback: чтение и обновление Atomic
- 24. NodeJS Redis Wrong # args for 'get' command
- 25. Почему производительность Redis SET лучше, чем GET?
- 26. Избегайте GET до SET в счетчике Redis
- 27. RethinkDB atomic upsert
- 28. PHP Memcache Key Expire
- 29. PHP Session Expire Перенаправление
- 30. expire ASP.Net page