redis实现自动失效是指将由于蓝银对象过期而失效的Redis键/值对自动过期。自动失效是指将由于过期时间到期而失效的键/值组合自动从Redis服务器中删除,以释放存储空间。这在利用程序中可以实现得更好的性能,由于它避免了大量的LRU或内存失效算法来清算内存中失效的对象。
在使用Redis存储用户会话数据时,常常会需要对会话数据设置一个有效期限,如果过期则会话也会失效。要实现这类功能,我们可使用Redis的SETEX方法,它会将键的值设置为给定的字符串值,并设置该键的生存时间。具体实现以下:
jedis.setex(key,expireSeconds,value);
但是使用SETEX需要每次调用Redis都重新设置生存时间,如果有很多对象,那末会拖慢系统的性能,我们可使用Redis的过期失效,只需要设置一次生存时间就能够实现失效。
具体实现代码以下:
//设置键的初始生存时间,单位是毫秒
jedis.expire(key,expireMillis);
//获得当前键的剩余有效时间jedis.ttl(key);
//更新键的有效时间jedis.pexpire(key,expireMillis);
//让键永久有效jedis.persist(key);
另外,Redis还提供了一个定时删除的功能,可以设定一个定时时间,系统会在该时间取点删除该键。
jedis.expireAt(key,expireTimeInMillis);
使用Redis的过期失效既可以更好的节省系统的开消,又能有效的减少内存的过度使用,同时可以更好的满足用户使用过期失效时间的需求,是一种经常使用的优雅的方式。
本文来源:https://www.yuntue.com/post/197540.html | 云服务器网,转载请注明出处!

微信扫一扫打赏
支付宝扫一扫打赏