zoukankan      html  css  js  c++  java
  • flask之redis

    redis 连接需要host port passwod

    Hash:key-fields-value(做缓存)相当于一个key对于一个map,map中还有key-value
    List:有顺序可重复(处理不完时,排队相关处理)
    Set:元素无顺序,不能重复(去重)
    SortedSet(zset):有顺序,不能重复 (服务器消耗最高,要排序还要去重,尽量少用,)

    查看所有键 keys *
    获取键总数:dbsize
    检查键是否存在 exists
    如果存在返回1,不存在返回0
    删除键 del key [key ……]
    正常情况下返回结果为删除键的个数,假如删除了一个不存在的键,就返回0
    type key 返回键的数据结构类型,如果键不存在,就返回none

    Redis对存储值的过期处理实际上是针对该值的键(key)处理的,时间的设置也是设置key的有效时间。

    注:
      
    1、除了字符串自己独有设置过期时间的方法外,其他方法都需要依靠expire方法来设置时间
      
    2、如果没有设置时间,那缓存就是永不过期
      
    3、如果设置了过期时间,之后又想让缓存永不过期,使用persist key

    设置过期时间
    1 EXPIRE key seconds  //将key的生存时间设置为ttl秒

    2 PEXPIRE key milliseconds //将key的生成时间设置为ttl毫秒

    3 EXPIREAT key timestamp  //将key的过期时间设置为timestamp所代表的的秒数的时间戳

    4 PEXPIREAT key milliseconds-timestamp  //将key的过期时间设置为timestamp所代表的的毫秒数的时间戳
    persist key:清除key的过期时间。Key持久化

    备注:timestamp为unix时间戳(例如:timestamp=1499788800 表示将在2017.07.12过期)
    1和2两种方式是设置一个过期的时间段,比如处理验证码最常用的策略,设置三分钟或五分钟后失效,秒存储到Redis中。
    3和4两种方式是指定一个过期的时间 ,比如优惠券的过期时间是某年某月某日,只是单位不一样。
    如果成功地为该键设置了超时时间,返回 1
    如果键不存在或无法设置超时时间,返回 0

    查询过期时间
    pttl key_name 返回值单位s
    ttl key_name 返回值单位ms
    redis版本>= 2.6.0
    当key不存在时返回-2;
    当key 存在但没有设置剩余生存时间时,返回-1;
    否则,以毫秒为单位,返回 key 的剩余生存时间

    字符串独有的方式操作过期时间
    setex(String key, int seconds, String value)--字符串独有的方式
    对字符串特殊处理的方式为SETEX命令,SETEX命令为指定的 key 设置值及其过期时间。
    如果 key 已经存在, SETEX 命令将会替换旧的值。
    返回值 设置成功时返回 OK

  • 相关阅读:
    用call/apply实现bind
    FED1 修改 this 指向(中等)
    46. 全排列(中等)
    JavaScript 用七种方式教你判断一个变量是否为数组类型(转)
    179. 最大数(中等)
    125. 验证回文串(简单)
    执行git pull命令时出错
    前端修改滚动条样式
    js实现每日定时任务
    Vue实现验证码控件
  • 原文地址:https://www.cnblogs.com/zxpo/p/10142924.html
Copyright © 2011-2022 走看看