面试题答案
一键面试以Python为例,使用redis - py
库实现缓存数据过期机制的示例如下:
import redis
# 连接Redis
r = redis.Redis(host='localhost', port=6379, db = 0)
# 设置缓存数据及过期时间(单位:秒)
key = 'example_key'
value = 'example_value'
expire_time = 60 # 60秒后过期
r.setex(key, expire_time, value)
# 获取缓存数据
result = r.get(key)
print(result)
在上述代码中:
redis.Redis
用于连接本地Redis服务器。setex
方法用于设置缓存键值对,并指定过期时间(以秒为单位)。get
方法用于获取缓存数据。
在Java中,使用Jedis库实现的示例如下:
import redis.clients.jedis.Jedis;
public class RedisExample {
public static void main(String[] args) {
// 连接Redis
Jedis jedis = new Jedis("localhost", 6379);
String key = "example_key";
String value = "example_value";
int expireTime = 60; // 60秒后过期
// 设置缓存数据及过期时间
jedis.setex(key.getBytes(), expireTime, value.getBytes());
// 获取缓存数据
byte[] result = jedis.get(key.getBytes());
System.out.println(new String(result));
jedis.close();
}
}
在上述Java代码中:
Jedis
类用于连接Redis服务器。setex
方法设置缓存键值对和过期时间。get
方法获取缓存数据。最后关闭Jedis
连接。
在JavaScript中,使用ioredis
库实现的示例如下:
const Redis = require('ioredis');
// 连接Redis
const redis = new Redis({
host: 'localhost',
port: 6379
});
const key = 'example_key';
const value = 'example_value';
const expireTime = 60; // 60秒后过期
// 设置缓存数据及过期时间
redis.setex(key, expireTime, value)
.then(() => {
return redis.get(key);
})
.then(result => {
console.log(result);
})
.catch(console.error);
在上述JavaScript代码中:
ioredis
库用于连接Redis。setex
方法设置缓存键值对和过期时间。get
方法获取缓存数据,并通过Promise处理结果。