redis 键值对 有效期设置redis中可以使用expire命令设置一个键的生存时间,
到时间后redis会自动删除它<-----> 类比于javaweb系统临时数据 过期删除功能
expire 设置失效时间(单位/秒)
persist 取消失效时间
ttl/pttl(单位为 秒/毫秒) 查看键的剩余时间
返回三种值 -2(健已经不存在了) -1(表示永久有效) 大于0的数(还有多少有效时间)
pexpire设置失效时间(单位/毫秒)
expireat [key] unix时间戳1351858600
pexpireat [key] unix时间戳(毫秒)1351858700000
应用:
限时的优惠活动: 活动对应数据限时为1小时 则设置为1小时后失效
网站数据缓存(对于一些需要定时更新的数据)
比如排名,间隔10分钟做一次统计的话,那么排名的数据就可以设置 expire
网站访客访问频率限制(例如:1分钟最多访问10次): 用户ip作为健,默认值为1,incr命令,
set name zm
expire name 60 设置name失效时间为60S
ttl name 查看name健将要失效的剩余生存时间
persist name 取消name的失效时间
ttl name 如果返回是-1 则表示已经取消了name的失效时间 -1表示永久有效
redis 设置IP单位时间内访问次数, 比如 1分钟内只能让客户IP访问量3次,否则封IP:
package bj.zm.redis; import org.junit.Test; import redis.clients.jedis.Jedis; import redis.clients.jedis.Transaction; /** * 使用键的生存时间来实现控制用户访问网站的频率 * @author Administrator * */ public class TestWebSite { Jedis jedis = new Jedis("192.168.1.110", 6379); @Test public void test(){ String ip = "192.168.1.1";// 客户IP website(ip); } //每次递增1,如果在60S内访问超过了3次 则 访问频率过高(防止抓取) 模拟的时候 连续执行多次junit来实现打印用户访问频率超限的效果 private void website(String ip) { String value = jedis.get(ip); if(value==null){ Transaction transaction = jedis.multi(); transaction.incr(ip); transaction.expire(ip, 60); transaction.exec(); }else{ int intvalue = Integer.parseInt(value); if(intvalue<=3){ jedis.incr(ip); }else{ System.err.println("用户访问频率超限!"); } } } }
相关推荐
redis键值对型数据库知识详解
redis_benchmark.c 用于redis性能测试的实现。 redis_check_aof.c 用于更新日志检查的实现。 redis_check_dump.c 用于本地数据库检查的实现。 testhelp.c 一个C风格的小型测试框架。 struct:(结构体) adlist.c ...
Redis管理工具 可进行Redis键值对的管理
Redis集群方面的源码只提供了键值到槽slot的映射功能,在此基础上我添加了键值到节点的映射功能。
redis键值数据库源码分析 测试:(测试) memtest.c内存检测 redis_benchmark.c用于redis性能测试的实现。 redis_check_aof.c用于更新日志检查的实现。 redis_check_dump.c用于本地数据库检查的实现。 testhelp....
redis:Redis键值存储(Win32 Win64端口)
Symfony2 - Redis 键值存储浏览器。 安装 第 1 步:下载“FilthRedisBrowserBundle” 最终,应将 FilthRedisBrowserBundle 文件下载到“vendor/bundles/Filth/RedisBrowserBundle”目录。 您可以通过多种方式完成...
IDEA免费的REDIS插件,支持项目内搜索查看redis键值对。
shell脚本写的删除redis中所有特殊键值的脚本。也可以修改一下自动操作redis
文档描述了Redis 数据库的键值设计,个人感觉很好!
php+redis 键值过期自动监听 可以用作定时任务 当redis键值过期的时候就会触发回调方法,然后执行自己的程序,比如30分钟订单自动取消
Redis是一个使用ANSI C编写的开源的、支持网络的、基于内存的、可选持久性的键值对存储数据库。
Java实现redis,linux安装redis,一分钟学会使用redis,就是这么简单
Springboot+Shiro+jwt+Redis+Mybatis 有效期内Token刷新方案
在注释的过程中,除了少量空间和空行方面的调整外,没有对原始代码进行任何其他堆叠,最大程度地保证了代码的“原汁原味”。 希望这份注释原文能给大家学习和了解Redis带来一点帮助。 另外,正在各大网店发售中,...
Redis Desktop Manager是一个Redis数据库图形界面管理工具,它提供了对Redis键值对存储的可视化操作和监控。其主要功能包括: 连接和管理多个Redis服务器 查看和编辑Redis中的键值对数据 执行Redis命令和脚本 监控...
redis键值数据库源码分析
gokv / redis Redis的抽象,实现了定义的Store接口。到期此软件包不稳定,因为gokv/store还不稳定。 该商店的实现是实验性软件。用使用地址和(可选的)Redis初始化调用New的地址。 s := redis . New ( "localhost:...
这是用于PHP的会话处理程序,它使用Redisent库提供了惊人的Redis键值存储( )。 您最好使用因此,如果可以使用编译后的扩展名,那就这样做吧! 要使用,请首先获取 (或上游版本,但这个版本仍会更好),只需将其...