美文网首页
redis2.8新特性set值的同时设置过期时间

redis2.8新特性set值的同时设置过期时间

作者: 蕴重Liu | 来源:发表于2019-07-31 17:40 被阅读0次

具体看文档或注释,如果还是有点懵,那就特意动手试一下
http://redisdoc.com/string/set.html

  • python的reids部分源码
    def set(self, name, value, ex=None, px=None, nx=False, xx=False):
        """
        Set the value at key ``name`` to ``value``

        ``ex`` sets an expire flag on key ``name`` for ``ex`` seconds.

        ``px`` sets an expire flag on key ``name`` for ``px`` milliseconds.

        ``nx`` if set to True, set the value at key ``name`` to ``value`` only
            if it does not exist.

        ``xx`` if set to True, set the value at key ``name`` to ``value`` only
            if it already exists.
        """
        pieces = [name, value]
        if ex is not None:
            pieces.append('EX')
            if isinstance(ex, datetime.timedelta):
                ex = int(ex.total_seconds())
            pieces.append(ex)
        if px is not None:
            pieces.append('PX')
            if isinstance(px, datetime.timedelta):
                px = int(px.total_seconds() * 1000)
            pieces.append(px)

        if nx:
            pieces.append('NX')
        if xx:
            pieces.append('XX')
        return self.execute_command('SET', *pieces)

本质也是拼接命令在cli界面执行

  • ex : 将键的过期时间设置为 seconds 秒,与SETEX key seconds value效果等同
  • px : 将键的过期时间设置为 milliseconds 秒,与PSETEX key milliseconds value效果等同
  • nx : 只在键不存在时, 才对键进行设置操作,默认false
  • px : 只在键已经存在时, 才对键进行设置操作,默认false

解释结束,看实际项目的主要应用:

设置60s过期时间
DB.ai_redis.set(name='DETECT_FACE_RESULT:image_id', value=json.dumps(face_list), ex=60)

补充:redis一般采用惰性删除策略,即38分set的值,一分钟有效期,需等到40分才看到该值失效

相关文章

  • redis2.8新特性set值的同时设置过期时间

    具体看文档或注释,如果还是有点懵,那就特意动手试一下http://redisdoc.com/string/set....

  • Redis--命令

    设值 获值 设置过期时间(单位:s) 设置过期时间(单位:s) 设置过期时间(单位:ms) 设置UNIX过期时间戳...

  • redis操作

    1.设置redis键的过期时间(秒) : set key value ex 10 # 设置key的过期时间10...

  • Redis过期策略和LRU

    缓存,不是存储,无法保证以前设置的缓存绝对存在。因为缓存容量是有上限的,即使set值的时候不设置过期时间,在内存不...

  • Redis关于过期时间的命令 2021-04-11

    Redis关于过期时间的命令 给Redis对象设置过期时间的8个命令: set key value [ex sec...

  • redis五大数据类型及常用操作

    所有键: keys * string 增: 一个(键存在修改,不存在添加): set 键 值一个并设置过期时间:s...

  • nosql基础语句

    设置 设置键值 set key value 设置键值及过期时间,以秒为单位 SETEX key seconds v...

  • go-redis使用

    一。连接,设值,取值,设置过期时间

  • 基础数据结构

    string (字符串) 设置 EX seconds : 将键的过期时间设置为 seconds 秒。 执行 SET...

  • set

    set set的特性是,所有元素都会根据元素的键值自动排序,set的元素不像map那样可以同时拥有实值(value...

网友评论

      本文标题:redis2.8新特性set值的同时设置过期时间

      本文链接:https://www.haomeiwen.com/subject/fkgtdctx.html