搜尋

首頁  >  問答  >  主體

redis-php set失敗

$redis = new Redis();
$redis->connect('127.0.0.1', 6379);
echo "Server is running: " . $redis->ping();

運行後輸出:Server is running: +PONG

這表示運行成功了嗎?

如果成功了

$redis->set("tutorial-name", "Redis tutorial");

我set個key一直回傳false

查了資料沒找到原因,log文件也沒發現

漂亮男人漂亮男人2797 天前740

全部回覆(6)我來回復

  • 世界只因有你

    世界只因有你2017-04-25 09:04:59

    鍵為何中間有- 你鍵弄成簡單點的,例如a

    回覆
    0
  • 曾经蜡笔没有小新

    曾经蜡笔没有小新2017-04-25 09:04:59

    你直接寫指令看看這個key能放進去嗎?

    回覆
    0
  • ringa_lee

    ringa_lee2017-04-25 09:04:59

    貌似沒用用 redis->select($db); 選擇資料庫吧。

    回覆
    0
  • 世界只因有你

    世界只因有你2017-04-25 09:04:59

    我也碰到的是set返回false,程式碼裡面測試是沒有具體提示訊息的,後來就去linux伺服器上面測試redis到底是否有效,測試結果提示set確實有問題,提示(error) MISCONF Redis is configured to save RDB snapshots, but is currently not able to persist on disk. Commands that may modify the data set are disabled. Please check Redis logs for details about the error. 然後就百度或者google運行了,按照網上的做法運行了,按照網上的做法運行了,按照網上的做法運行了,按照網上的做法運行了,按照網上的做法writes-on-bgsave-error no 或修改sysctl vm.overcommit_memory=1(都可以試試)就ok了

    回覆
    0
  • 我想大声告诉你

    我想大声告诉你2017-04-25 09:04:59

    pong表示連結成功,set不了請查看日誌

    回覆
    0
  • 世界只因有你

    世界只因有你2017-04-25 09:04:59

    我學習redis的時候也遇到過,只要在前面運行一些出錯的語句,之後就不行了,比如$redis->set('iliked',1);$redis->decr('iliked',2 );//執行這句話之後,多刷新頁面,然後再在程式碼中寫$redis->delete('iliked');或者樓上說的set操作都不行了,此時需要重啟一下redis就可以了。很鬱悶啊! ! !

    回覆
    0
  • 取消回覆