php redis中的b/w pset和psetx的区别是什么?是否可以将数组设置为值?
及 vsphp redis中的b/w pset和psetx的区别是什么?是否可以将数组设置为值?,php,redis,phpredis,Php,Redis,Phpredis,及 vs 是的,用serialize或jasn_encode序列化数据。psetex是精确的setex,这意味着TTL的单位是毫秒,而不是秒。看 作为值,您可以设置任何二进制安全字符串。您可以存储以首选格式序列化的数组,如JSON或CSV,但对数组执行的每个操作都必须完整读取和完整回写 考虑Redis中的其他数据类型:列表、集合、排序集合、散列(映射)。很可能另一种数据类型更适合您的需求。看 您始终可以使用或PEXPIRE设置任何类型的密钥的过期时间,如其他人所述SETEX以秒为单位获取TTL,
是的,用serialize或jasn_encode序列化数据。
psetex
是精确的setex
,这意味着TTL的单位是毫秒,而不是秒。看
作为值,您可以设置任何二进制安全字符串。您可以存储以首选格式序列化的数组,如JSON或CSV,但对数组执行的每个操作都必须完整读取和完整回写
考虑Redis中的其他数据类型:列表、集合、排序集合、散列(映射)。很可能另一种数据类型更适合您的需求。看
您始终可以使用或
PEXPIRE
设置任何类型的密钥的过期时间,如其他人所述SETEX
以秒为单位获取TTL,PSETEX
以毫秒为单位
您可以让PhpRedis
为您处理序列化,不过:
$redisClient -> psetex('key', 3600, 'value' );
$redisClient -> psetex('key', 3600, 'value' );
$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'));