当前位置:  开发笔记 > 编程语言 > 正文

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

如何解决《使用Redis存储数据数组(来自Laravel)》经验,为你挑选了1个好方法。

我已经开始使用laravel了.工作很有意思.我已经开始使用laravel的功能.我已经开始redis在我的系统中使用安装redis服务器并在app/config/database.php文件中更改redis的配置.通过使用,redis对单个变量工作正常set.即

$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', array(5, 10));

如果我使用

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

得到以下错误

 'command' is not a registered Redis command 

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



1> ajtrichards..:

评论中已经回答了这个问题,但为将来访问的人们提供了更清楚的答案.

Redis与语言无关,因此它无法识别PHP或任何其他语言特有的任何数据类型.最简单的方法是serialise/ json_encodeon set unserialise/ then json_decodeget 上的数据.

用于存储数据的示例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);

推荐阅读
jerry613
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有