gpt4 book ai didi

php - 使用 Redis 存储数据数组(来自 Laravel)

转载 作者:IT王子 更新时间:2023-10-29 00:10:47 24 4
gpt4 key购买 nike

我已经开始使用 Laravel。工作很有趣。我已经开始使用 laravel 的功能。我已经开始使用 redis,方法是在我的系统中安装 redis 服务器,并在 app/config/database.php 文件中更改 redis 的配置。通过使用 set,redis 可以很好地处理单个变量。即,

$redis = Redis::connection();

$redis->set('name', 'Test');

我可以通过使用获得值(value)

$redis->get('name');

但我想使用set 函数来设置数组。如果我尝试这样做会出现以下错误

 strlen() expects parameter 1 to be string, array given 

我尝试使用以下代码。

$redis->set('name', array(5, 10));

$values = $redis->lrange('names', array(5, 10));

如果我使用

$values = $redis->command('lrange', array(5, 10));

出现以下错误

 'command' is not a registered Redis command 

任何人都可以向我解释这个问题吗?redis 可以吗?...我们可以使用 redis 设置数组值吗?

最佳答案

这已在评论中得到回答,但为了让将来访问的人更清楚地回答。

Redis 与语言无关,因此它不会识别特定于 PHP 或任何其他语言的任何数据类型。最简单的方法是 serialise/json_encode set 上的数据,然后 unserialise/json_decode get。

使用 json_encode 存储数据的示例:

use Illuminate\Support\Facades\Redis;

$redis = Redis::connection();

$redis->set('user_details', json_encode([
'first_name' => 'Alex',
'last_name' => 'Richards'
])
);

使用 json_decode 检索数据的示例:

use Illuminate\Support\Facades\Redis;

$redis = Redis::connection();
$response = $redis->get('user_details');

$response = json_decode($response);

关于php - 使用 Redis 存储数据数组(来自 Laravel),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22718903/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com