一、概览
REmote DIctionary Server(Redis) 是一个由Salvatore Sanfilippo写的key-value存储系统,是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API;
Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储;
Redis支持数据的备份,即master-slave模式的数据备份;
性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s。
二、连接
redis-cli -p port 连接打开本地的redis redis-cli -h host -p port -a password 连接打开远程的redis,最后加上 --raw可避免中文乱码 select index 切换到指定数据库
三、常用命令
1、通用
CONFIG GET * 取所有配置项
exists key 检查给定key是否存在
expire key seconds 为key设置过期时间,以秒为单位
expireat key timestamp 为key设置过期时间,在指定时间过期,UNIX 时间戳
pexpire key milliseconds 为key设置过期时间,以毫秒秒为单位
pexpireat key timestamp 为key设置过期时间,在指定时间过期,UNIX 时间戳以毫秒计
persist key 移除 key 的过期时间,key 将持久保持
pttl key 以毫秒为单位返回 key 的剩余的过期时间
ttl key 以秒为单位返回 key 的剩余的过期时间
del key 删除键值
dump key 序列化给定 key ,并返回被序列化的值
keys pattern 查找所有符合给定模式( pattern)的 key
move key db 将当前数据库的 key 移动到给定的数据库 db 当中
randomkey 从当前数据库中随机返回一个key
rename key newkey 修改key的名称
renamenx key newkey 仅当 newkey 不存在时,将 key 改名为 newkey
type key 返回key的值的数据类型
scan cursor [MATCH pattern] [COUNT count] 迭代数据库中的数据库键
2、String
set key "value" 设置值,一个键最大能存储 512MB get key 获取值 mget key1 key2... 同时获取多个key的值 setnx key value 只有在key不存在时设置key的值
3、hash
hmset name filed1 "value1" filed2 "value2"... 设置值,每个 hash 可以存储 232 -1 键值对 get name filed1 获取值
4、set
sadd key "value" 添加一个 string 元素到 key 对应的 set 集合中,成功返回 1,如果元素已经在集合中返回 0,集合中最大的成员数为 232 - 1 smembers key 获取值
5、zset(有序集合)
zadd key score "value" zset的成员是唯一的,但分数(score)却可以重复,score是用来排序的 ZRANGEBYSCORE runoob 0 1000 获取值
6、list
lpush key value 添加值,一个列表最多可以包含 232 - 1 个元素 lrange key start end 获取值 llen key 获取列表长度 lpop key1 移出列表的第一个元素
7、save
bgsave 后台备份,如果需要恢复数据,只需将备份文件 (dump.rdb) 移动到 redis 安装目录并启动服务即可
redis-benchmark [option] [option value] 性能测试