$redisClient -> setex('key', 3600, 'value' );
和
$redisClient -> psetex('key', 3600, 'value' );
nkkqxpd91#
psetex 是精确的 setex ,表示ttl的单位是毫秒,而不是秒。看到了吗https://redis.io/commands/psetex作为值,可以设置任何二进制安全字符串。您可以存储以首选格式序列化的数组,如json或csv,但是对数组执行的每一个操作都必须完整地读取并完整地写回。考虑redis中的其他数据类型:列表、集合、排序集合、散列(Map)。很可能另一种数据类型更适合您的需求。看到了吗https://redis.io/topics/data-types始终可以使用 EXPIRE 或者 PEXPIRE .
psetex
setex
EXPIRE
PEXPIRE
gj3fmq9x2#
正如其他人所描述的那样 SETEX 以秒为单位计算ttl PSETEX 以毫秒为单位。你可以有 PhpRedis 不过,请为您处理序列化:
SETEX
PSETEX
PhpRedis
$obj_r = new Redis(); $obj_r->connect('localhost', 6379); $obj_r->setOption(Redis::OPT_SERIALIZER, Redis::SERIALIZER_PHP); $obj_r->set('serialized', ['this', 'is', 'an', ['array', 'of', 'values']]); var_dump($obj_r->get('serialized'));
文档中的setoption示例
czfnxgou3#
https://redis.io/commands/set 与https://redis.io/commands/setex是的,用serialize或jasn\u encode序列化数据。
3条答案
按热度按时间nkkqxpd91#
psetex
是精确的setex
,表示ttl的单位是毫秒,而不是秒。看到了吗https://redis.io/commands/psetex作为值,可以设置任何二进制安全字符串。您可以存储以首选格式序列化的数组,如json或csv,但是对数组执行的每一个操作都必须完整地读取并完整地写回。
考虑redis中的其他数据类型:列表、集合、排序集合、散列(Map)。很可能另一种数据类型更适合您的需求。看到了吗https://redis.io/topics/data-types
始终可以使用
EXPIRE
或者PEXPIRE
.gj3fmq9x2#
正如其他人所描述的那样
SETEX
以秒为单位计算ttlPSETEX
以毫秒为单位。你可以有
PhpRedis
不过,请为您处理序列化:文档中的setoption示例
czfnxgou3#
https://redis.io/commands/set 与https://redis.io/commands/setex
是的,用serialize或jasn\u encode序列化数据。