[Redis] redis基础
一、NoSql
-
什么是NoSql?
- 泛指非关系型数据库(Not-Only SQL),作为关系类型数据库的补充。NoSql数据库的出现是为了解决大规模数据集合多重数据类带来的挑战,尤其是大数据应用难题,包括超大规模数据的存储。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。
-
NoSql特征:
- 可扩容,可伸缩
- 大数据量下高性能
- 灵活的数据模型
- 高可用
-
NoSql数据模型及数据库四大分类
- 聚合模型:KV值、Bson、列族、图形
- 对应聚合模型的四种形式:KV键值、文档性数据库(Bson格式)、列存储数据库、图关系数据库
-
分布式数据库中CAP原理
传统的ACID:原子性(Atomicity)、一致性(Consistency)、独立性(Isolation)、持久性(Durability)
- CAP:
- 强一致性(Consistency):任何一个读操作总是能读取到之前完成的写操作结果,也就是在分布式环境中,多点的数据是一致的。
- 可用性(Availability):每一个操作总是能在确定的时间内返回,也不是系统随时都是可用的。
- 分区容错性(Partion tolerance):在出现网络分区(如断网)的情况下,分离的系统也能正常运行。
- CAP的3进2:在分布式存储系统中,最多只能实现CAP的两点。由于当前网络硬件肯定会出现延迟丢包等问题,分区容错性是必须要实现的。
- CA:传统的Oracle数据库,单集群,满足一致性可用性系统,可扩性不强
- AP:大多数网站架构的选择
- CP:redis、Mongodb
- CAP:
-
BASE
为了解决关系数据库强一致性引起使可用性降低的问题。思想就是通过让系统放松对某一时刻数据的一致性要求,来获取系统整体伸缩性和性能上的改观。
- 基本可用(Basically Available)
- 软状态(Soft-state)
- 最终一致(Eventually consistent)
-
NoSql在基本信息存储中的位置(以一个电商场景为例)

二、redis
REmote DIctionary Server(远程字典服务器),键值对(key-value)数据库。
-
特征
- 1、数据间没有必然的关联关系
- 2、内部采用单线程机制进行工作
- 3、高性能。官方测试数据,50个并发执行1000000个请求,读速度是10000次/s,写的速度是81000次/s
- 4、多数据类型支出(string、list、hash、set、sotred_set)
- 5、持久化支持(可以进行数据灾难恢复)
-
redis的应用
- 为热点数据加速查询(主要的场景),如热点商品、热点新闻、热点资讯、推广类等高访问量信息
- 任务队列,如秒杀、抢购、购票排队等
- 即时信息查询,如排行榜、各类网站访问统计、公交到站信息、设备信号等
- 时效性信息控制,如验证码控制、投票控制等
-
redis Windows版本(入门学习)
- 下载地址 https://github.com/microsoftarchive/redis/tags

- redis基本操作
- redis-server是启动服务器
- redis-cli是启动客户端
- 功能性命令:
- 信息添加:
set key value - 信息查询:
get key如果不存在,返回空(nil) - 清除屏幕信息:
clear - 帮助:
help 命令名称、help @组名 - 退出客户端:
quit、exit
- 信息添加:
- 下载地址 https://github.com/microsoftarchive/redis/tags
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!
