Redis是常用基于内存的Key-Value数据库,比Memcache更先进,支持多种数据结构,高效,快速。
用Redis可以很轻松解决高并发的数据访问问题;做为时时监控信号处理也非常不错。
说明:以下命令中,$
符号之后为SHELL命令,>
符号之后为Redis命令。命令行中输入redis-cli
就可以启动Redis客户端。
1 访问和查看
$ redis-cli
redis 127.0.0.1:6379>
> help # 命令行的帮助
> keys * # 查看所有的key列表
> info # 查看服务器信息。如占用系统内存,看其中的used_memory_human值
> select 2 # 切换到数据库2
2 字符串记录命令
增加字符串和数字记录
> set key1 hello # 增加一条键值为key1,值为hello的字符串记录
> get key1 # 获取记录值
> set key2 1 # 增加一条数字记录key2
> INCR key2 # 让数字自增
3 列表记录命令
> LPUSH key3 a # 增加一个列表记录key3
> LPUSH key3 b # 从左边插入列表
> RPUSH key3 c # 从右边插入列表
> LRANGE key3 0 3 # 输出列表记录,按从左到右的顺序
4 哈希表记录命令
> HSET key4 name John Smith # 增加一个哈希记表录key4
> HSET key4 email abc@gmail.com # 在哈希表中插入,email的Key和Value的值
> HGET key4 name # 输出哈希表中键为name的值
> HMSET key5 username antirez password P1pp0 age 3 # 增加一条哈希表记录key5,一次插入多个Key和value的值
> HMGET key5 username age # 打印哈希表中,键为username和age的值
> HGETALL key5 # 打印完整的哈希表记录
5 删除记录
> del key1 # 删除key1
> flushdb # 删除当前库的所有数据
> flushall # 删除所有数据库下的所有数据
6 批量删除
Redis的del
命令不支持通配符,批量删除可结合Linux管道和xargs命令实现:
$ redis-cli del `redis-cli keys user:*` # 删除以键名为user:开头的所有记录
$ redis-cli keys user:* | xargs redis-cli del # 同上
$ redis-cli -a password keys user:* | xargs redis-cli -a password del # 同上,有密码
$ redis-cli -n 0 keys user:* | xargs redis-cli -n 0 del # 删除数据库序号为0的库里面的指定记录