我已经开始使用laravel。工作很有意思。我已经开始使用laravel的功能。我已经开始通过在我的系统中安装redis服务器来使用redis
,并在app/config/database.php
文件中更改redis的配置。通过使用set
,redis对单个变量正常工作。即,使用Redis存储数据阵列(来自Laravel)
$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
?
Redis的是不熟悉PHP非标量数据类型如数组,但快速和肮脏的选项(array(5,10)));'和'$ redis-> set('name',json_encode(array(5,10)));'和然后反序列化或json_decode获取 –
因此,我们必须编码它,而不是其他选择直接设置为一个数组? – Kalai
PHP数组是特定于PHP的数据类型,redis是语言不可知的,所以它不知道如何处理它...我个人使用Redis的igbinary和自动序列化 –