我已经开始与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);