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(主从)同步。