一、 Redis入门
- Redis是一款基于键值对的NoSQL数据库,它的值支持多种数据结构:
字符串strings,哈希hashes,列表lists,集合sets,有序列表sorted sets等。 - Redis将所有的数据都放在内存中,读写速度非常惊人;同时Redis还可以将内存中的数据以快照(RDB, 整体拷贝,定时备份)或日志(AOF,增量存,实时备份)的形式保存到硬盘上,以保证数据的安全性。
- Redis典型的应用场景包括:缓存、排行榜(热门帖子缓存加载快)、计数器(浏览量,点赞)、社交网络、消息队列等。
关于redis的文档:
1.1 常用命令:基础操作
命令 | 含义 |
---|---|
select 0 | 选择第0个库 |
flushed | 删除当前库所有数据 |
flushall | 删除当前数据库中所有数据 |
set test:count 1 | 设置键值对 |
get test:count | 获取值 |
keys * | 获取所有键 |
keys test * | 获取test开头的所有键 |
type test:user | 获取值的类型 |
exists test:user | 是否存在键 |
del test:user | 删除键 |
expire test:user 10 | 设置键存在时长,单位为秒 |
1.2 常用命令:Hash
命令 | 含义 |
---|---|
hset user name age 10 | 设置键名为user,字段为name及其对应值 |
hget user name | 获取哈希表中name字段的值 |
hgetall user | 获取user中所有字段的值 |
1.3 常用命令:List
命令 | 含义 |
---|---|
lpush test:ids 101 102 103 | 从左侧依次push内容到列表里 |
llen test:ids | 获取列表长度 |
lindex test:ids 0 | 获取列表中下标为0的数据 |
lrange test:ids 0 2 | 获取列表中从下表0到2的元素 |
rpop test:ids | 从右侧pop出一个元素 |
1.4 常用命令:集合set
命令 | 含义 |
---|---|
sadd test:teachers a b c d e | 向集合中添加数据 |
scard test:teachers | 获取集合中元素数量 |
spop test:teachers | 从集合中随机弹出一个元素,应用:抽奖 |
smembers test:teachers | 查看集合中的元素 |
1.5 常用命令:有序集合
命令 | 含义 |
---|---|
zadd test:students 10 a 20 b 30 c | 向有序列表中添加元素及他们的score |
zcard test:students | 获取有序集合中元素数量 |
zscore test:students c | 获取c的score |