Redis 基本介绍

2 篇文章 0 订阅
SQL: 关系型数据库,表与表之间建立关联关系。
 
NoSQL: 非关系型数据库,数据与数据之间没有关联关系。
 
解析SQL语句:"select * from users;"
 
1.解析字符串“select * from users”
2.将字符串转换为对象
3.经过大量的算法执行查询操作
4.展示结果
 
NoSQL数据库适用场景
  • 数据模型比较简单
  • 需要灵活性更强的IT系统
  • 对数据库性能要求更高
  • 对于给定KEY,比较容易映射复杂值得环境
Redis简介
  • 开源免费,遵守BSD协议,高性能(NoSQL)的key-value数据库
  • 使用C语言编写实现、支持网络、基于内存且可持久化的日志型、Key-Value数据库。
Redis与其他key-value缓存产品有以下3个特点:
  • 持久化:将内存中的数据保存在磁盘中,重启时再次加载使用,不至于丢失数据。
  • 结构化:支持list,set,zset,hash等数据结构
  • 备份:支持数据的备份,集群等高可用功能。
Redis特点
  • 性能极高:读 11000次/s,写81000次/s
  • 数据类型丰富:String, List, Hash, Set, Ordered Set等
  • 原子:Redis所有操作都是原子的,即要么成功执行要么完全不执行。单个操作是原子性的,多个操作也支持事务,即原子性。通过MULTI和EXEC指令包起来。
  • 特性丰富:支持publish、subscribe,通知,key过期等。
Redis缺点
  1. 持久化:Redis直接将数据存储到内存中,将数据保存至磁盘上,使用2种方式实现持久化过程。 定时快照(snapshot):每隔一段时间将整个数据库写到磁盘上,每次均是写全部数据,代价高。 基于语句追加aof:只追踪变化的数据,但是追加的log可能过大,同时所有的操作均重新执行一遍,回复速度慢。
  2. 耗内存,占用内存过高。
Redis应用场景
    企业开发中:可以用作数据库、缓存(热点数据(经常会被查询,但是不经常被修改或者删除的数据))和消息中间件等大部分功能。
  1. 限时优惠活动信息
  2. 网站数据缓存(对于一些需要定时更新的数据,例如:积分排行榜)
  3. 手机验证码
  4. 限制网站访客访问频率(例如:一分钟最多访问10次)
Redis命名建议
  1. key无需太长,尽量不超过1024字节,消耗内存且降低查找效率
  2. key不能太短,降低可读性
  3. 统一命名模式:例如:user:123:password
Redis总结
  •  单个key存入512M大小
  •  支持多种数据结构
  •  单线程,原子性
  •  支持持久化,使用了AOF和ROB机制
  •  支持集群,支持库(0-15)16个库
  •  做消息队列,例如聊天室
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值