flask之redis
Posted zxpo
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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
以上是关于flask之redis的主要内容,如果未能解决你的问题,请参考以下文章