一、Redis的简介
- Redis是支持网络、可基于内存亦可持久化的日志型、Key-Value型非关系型数据库,存取效率极高,而且支持多种存储结构,使用也特别简单容易理解。
- 非关系型数据库的一种,经常用作缓存
- 官网:redis.io,中文网:redis.cn
- 丰富的数据类型:字符串、哈希、列表、集合、有序集合等
- 端口:6379
二、Redis安装、配置、连接、测试
- 安装:`sudo apt-get install redis-server`
连接测试
- 检查redis服务是否启动:`ps -ef | grep redis`
- 密码管理:默认没有密码,若设置了密码,没有密码也可以登录成功,但是什么修改都不能做
- 单次有效,通过以下命令
- 获取密码:config get requirepass
- 设置密码:config set requirepass 123456
- 密码认证:auth 123456
- 永久有效,修改配置文件`/etc/redis/redis.conf`
- 将`requirepass xxxxx`行取消注释
- 后面跟上你需要的密码
- 重启服务后即可生效
- 连接:`redis-cli -h 主机 -p 端口 -a 密码`
- -h:指定主机
- -p:指定端口
- -a:指定密码
- --help:查看帮助
- 示例:`redis-cli -h localhost -p 6379`
- 测试:
- 127.0.0.1:6379>ping
- 127.0.0.1:6379>PONG
- 退出:quit
三、Redis基本操作
- 常用命令
ping:测试连接情况,回复PONG表示OK
quit:退出连接
auth:密码认证
select:选择库,总共有16个,序号0~15,默认是第0个
info:查看服务器信息
command:查看支持的命令
flushdb:清空当前库
flushall:清空所有库
save:前台进行持久化存储
bgsave:后台进行持久化存储
exists:判断指定键是否存在
del:删除键
- 字符串(string)
set:设置
get:获取
getset:获取之后再设置
mset:设置多个
mget:获取多个
incr:加1
decr:减1
incrby:加指定的值
decrby:减指定的值
append:追加内容
- 哈希(hash)
hset:设置单个属性
hget:获取单个属性
hmset:设置多个属性
hmget:获取多个属性
hgetall:获取所有属性
hdel:删除键值对
hexists:判断指定键的指定字段是否存在
hkeys:获取指定键的所有属性名
hvals:获取指定键的所有属性值
hlen:获取指定键的属性个数
- 列表(list)
lpush:从左边(头部)插入数据
lpop:从左边(头部)删除数据
lrange:获取指定区间范围内的数据,0 -1表示所有
lindex:根据索引获取元素
llen:获取列表长度(元素个数)
rpush:从右边(尾部)插入数据
rpop:从右边(尾部)删除数据
lrem:移除指定个数的指定元素
- 集合(set)
sadd:添加元素
scard:统计元素个数
sdiff:求差集
sinter:求交集
smembers:获取指定集合的所有成员
sismember:判断是否在集合中
smove:移动元素
spop:随机的删除一个元素
srandmember:随机获取指定个数的元素
srem:移除元素
sunion:求并集
- 有序集合(sorted set)
zadd:添加元素
zcard:统计个数
zcount:指定分数区间内的元素数量
zrange:返回指定索引范围内的元素
zrangebyscore:返回指定分数区间的元素
zrank:返回指定成员的索引值
zrem:移除元素
zscore:获取指定元素的排序指标(分数)