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

前端之家收集整理的这篇文章主要介绍了php – 使用Redis(来自Laravel)存储数据数组前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经开始与laravel合作了.这是非常有趣的工作.我已经开始使用laravel的功能了.我已经开始在我的系统中安装redis服务器使用redis,并在app / config / database.PHP文件中更改redis的配置.通过使用set,redis对单个变量工作正常.即,
$redis = Redis::connection();

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

我可以通过使用获得价值

$redis->get('name');

但是我想使用set函数设置数组.如果我尝试这样做得到以下错误

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

我试过使用以下代码.

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

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

如果我使用

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

得到以下错误

'command' is not a registered Redis command

任何人都可以解释我的问题,可以用redis吗?我们可以使用redis设置数组值吗?

评论中已经回答了这个问题,但是为了使未来的人们能够更加清楚答案.

Redis语言不可知,所以它不会识别任何特定于PHP或任何其他语言的数据类型.最简单的方法是在get上编译/ json_encode数据,然后在get上输入unserialise / json_decode.

使用json_encode存储数据的示例:

$redis = Redis::connection();

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

使用json_decode检索数据的示例:

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

$response = json_decode($response);

猜你在找的Laravel相关文章