例如:
user:1 name "zhangsan" user:1 num "001" user:2 name "lisi" user:2 num "002" user:3 name "wang" user:3 num "003"
在不指定user:1的情況下刪除第一條域user:1。 其實需求類似list中的lpop,但還是現在需要hash這種資料結構來記錄id。
认证高级PHP讲师
hash結構是沒有順序的,所以第一條是什麼都不知道,何來的刪除第一條,你所認為的第一條只是你插入的順序中的第一條,但是很抱歉hash並不依照你的插入順序進行排序,所以你就算遍歷hash也未必能夠得到你想要的結果。 如果希望遍歷順序保持與插入順序一致,可使用list。 你的需求可以透過兩個結構來實現,一個list用於維護集合順序,另一個hash用於保存k-v數據,刪除時從list中pop出一個數據,然後到hash中根據key進行刪除即可。
額,那隻能hKeys去取出所有key值,然後在應用層去取出第一個key,然後hget同時hdel
哈希鍊錶、//刪除單一實體$redis->hDel('hashkey', 'key1');
//刪除整個hash$redis->del('hashkey');
刪除一個redis的key都是用del方法, 不管是string,hash,list,set等類型, 都一樣,RPOP也可以取出來。
hash結構是沒有順序的,所以第一條是什麼都不知道,何來的刪除第一條,你所認為的第一條只是你插入的順序中的第一條,但是很抱歉hash並不依照你的插入順序進行排序,所以你就算遍歷hash也未必能夠得到你想要的結果。
如果希望遍歷順序保持與插入順序一致,可使用list。
你的需求可以透過兩個結構來實現,一個list用於維護集合順序,另一個hash用於保存k-v數據,刪除時從list中pop出一個數據,然後到hash中根據key進行刪除即可。
額,那隻能hKeys去取出所有key值,然後在應用層去取出第一個key,然後hget同時hdel
哈希鍊錶、//刪除單一實體
$redis->hDel('hashkey', 'key1');
//刪除整個hash
$redis->del('hashkey');
刪除一個redis的key都是用del方法, 不管是string,hash,list,set等類型, 都一樣,RPOP也可以取出來。