1. redis刪除key的問題
不知道你是怎麼搞的。正常情況下:
127.0.0.1:6379> hset aa i 123
(integer) 1
127.0.0.1:6379> hset aa j 234
(integer) 1
127.0.0.1:6379> hgetall aa
1) "i"
2) "123"
3) "j"
4) "234"
127.0.0.1:6379> del aa
(integer) 1
127.0.0.1:6379> hgetall aa
(empty list or set)
127.0.0.1:6379>
del aa後返回的就是空了。
如果你是想刪除一個hash里的一個field,那需要用 hdel
2. redis如何刪除最後一個key
redis 沒有提供直接批量刪除key的命令。key不多的話可以一條以條的刪除
redis可以用flushdb/flushall刪除所有的key。用del只能根據key去刪除。另外一種方式,你可以通過設置過期時間讓key到期自動刪除。
redis可以用flushdb/flushall刪除所有的key。用del只能根據key去刪除。另外一種方式,你可以通過設置過期時間讓key到期自動刪除。
3. 如何批量刪除Redis下特定pattern的keys
批量刪除Redis下特定pattern的keys:
可以使用linux的xargs來做到,如:
*/redis-cli keys "prefix*"
如果是訪問特定的資料庫,則可以:
*/redis-cli -n 0 keys "prefix*"
Redis是一個開源的使用ANSI C語言編寫、支持網路、可基於內存亦可持久化的日誌型、Key-Value資料庫,並提供多種語言的API。從2010年3月15日起,Redis的開發工作由VMware主持。從2013年5月開始,Redis的開發由Pivotal贊助。
redis是一個key-value存儲系統。和Memcached類似,它支持存儲的value類型相對更多,包括string(字元串)、list(鏈表)、set(集合)、zset(sorted set --有序集合)和hash(哈希類型)。這些數據類型都支持push/pop、add/remove及取交集並集和差集及更豐富的操作,而且這些操作都是原子性的。在此基礎上,redis支持各種不同方式的排序。與memcached一樣,為了保證效率,數據都是緩存在內存中。區別的是redis會周期性的把更新的數據寫入磁碟或者把修改操作寫入追加的記錄文件,並且在此基礎上實現了master-slave(主從)同步。