美文网首页
redis的基础

redis的基础

作者: 剑道_7ffc | 来源:发表于2020-07-22 09:49 被阅读0次

Redis 定位与特性

redis 是REmote DIctionary Service的缩写即远程字典服务。

Redis 定位

redis是非关系型数据库,基于key value值来存储数据。

redis的安装

安装

安装步骤请参考:http://www.redis.cn/download.html

错误处理

DENIED Redis is running in protected mode
image.png

基本操作

16个库

redis默认有16个库(0-15),可以修改配置文件改变,默认使用第一个db0,但数据库之间没有完全隔离,即在0号库,可以对其他库进行操作如flushall命令表示清空所有的库。

keys命令

具体请参考http://www.redis.cn/commands.html#generic

Redis 基本数据类型

String类型

1 存储类型:可以用来存储字符串、整数、浮点数。
2 操作命令:请参考http://www.redis.cn/commands.html#string
3 应用场景
3.1 缓存
可以提升热点数据的访问速度
3.2 数据共享分布式
因为redis是分布式的独立服务,可以在多个应用之间共享
3.3 分布式锁
String类型的setnx,只有不存在时才能添加成功,发挥true
3.4 全局id
利用int类型的INCRBY,利用原子性
3.5 计数器,限流
INT 类型,INCR 方法如文章的阅读量

Hash 哈希

1 存储类型
解决用一个key来存储一张表的数据,value 只能是字符串,不能嵌套其他类型。

image.png
image.png
2 操作命令:http://www.redis.cn/commands.html#hash
3 应用场景
3.1 String
String可以做的事情,hash都可以做
3.2 存储对象类型的数据
如存储对象或者一张表的数据
List

1 存储类型
存储有序的字符串(从左到右),元素可以重复。可以充当队列和栈的角色。

image.png
2 操作命令
http://www.redis.cn/commands.html#list
3 应用场景
3.1 用户消息时间线
因为list是有序的,可以用来做用户的时间线。
3.2 消息队列
队列:先进先出:rpush blpop
栈:先进后出:rpush brpop
set

1 存储类型
String类型的无序集合,元素不可重复

image.png
2 操作命令
http://www.redis.cn/commands.html#set
3 应用场景
3.1 抽奖
用srandmember随机获取一个元素来实现
3.2 点赞、签到、打卡
如查看某一个人的点赞所有用户
3.3 商品标签
3.4 商品筛选,用户关注
利用集合的交集,差集和并集来实现商品的筛选
zset

1 存储类型
每个元素都有一个score,有序性根据score进行排序,若score相同,则根据ASCII码排序

image.png
数据结构对比
image.png
2 操作命令
http://www.redis.cn/commands.html#sorted_set
3 应用场景
3.1 排行榜
利用score的加减操作和根据score进行排序实现操作
BitMaps

1 存储类型
BitMaps是字符串类型定义的位操作,一个字节由8个二进制位组成,偏移量是从左到右[0-7]

image.png
2 操作命令
http://www.redis.cn/commands.html#string
3 应用场景
3.1 在线用户统计
因为bit十分节省空间(1 MB=8388608 bit),可以用来做大数据量的统计。使用bitcount命令来统计用户个数,bit支持按位与,按位或等操作。

相关文章

网友评论

      本文标题:redis的基础

      本文链接:https://www.haomeiwen.com/subject/llgakktx.html