Redis学习1:入门简介及基本命令操作

Redis

问题现象

1、海量用户

2、高并发

真正的问题:关系型数据库

1、性能:数据库保存在磁盘上。磁盘的IO性能低下。

CPU数据交换和高速缓存cache做,cache和内存,而内存和硬盘做。

那么基础信息都在磁盘硬盘上的。

2、关系型数据关系复杂:扩展性能差,不便于大规模集群。

解决问题: 针对问题来解决:

1、解决磁盘的IO次数,越低越好。 —内存存储

2、降低数据之间的关系,越简单越好。 — 不存储关系 只存储数据同时用内存存储

这些就是NoSQL 那么就是 Not-Only-Sql,泛指非关系型数据库,作为关系型数据库的补充。

NoSQL是针对上面两个问题才使用的。

少量数据也可以用,但是大材小用了,所以是关系型数据库的补充。

特征:(没有绝对的特征)

1、可扩容,可伸缩。

2、大数据量下的高性能。

3、灵活的数据模型。

4、高可用。

常见的NoSQL数据库:

1、Redis 2、HBase 3、MongoDB

解决方案(电商情景)

1、商品的基本信息 比如说 名称 价格 厂商 就是放在Mysql

2、商品的附加信息 描述 详情 评论 放在高速存取的MongoDB

3、图片信息 一般放在分布式文件系统(类似淘宝)

4、搜商品的关键字 ES/Lucene、solr

5、热点信息:高频、波段性、访问量高 Redis memcache tair

对外数据服务如下:

Redis简介

Remote dictionary server c语言开发的一个开源的高性能键值对Key-value的数据库。

比如说一个名字对一个人,一个名称对一个物体就是键值对。

特征: 1、数据间没有必然的关联关系

2、内部采用单线程机制进行工作 (操作事物原子性)

3、高性能。

4、多数据类型支持。

有字符串 列表 散列 集合 有序集合

5、持久化支持:可以进行数据灾难恢复。

应用: 1、为热点数据加速查询:热点商品、热点系新闻、热点资讯等高访问量的。

2、任务队列、秒杀、抢购等。

3、即时的信息查询,如排行榜 网站访问统计 公交到站的信息 在线人数

4、时效性信息控制 :如验证码控制、投票控制

5、分布式数据共享:分布式集群架构中的session分离

6、消息队列。

7、分布式锁。

命令行模式工具使用思考

功能性命令

清除屏幕信息

帮助信息查询

退出指令

基础操作

1、信息添加

功能:设置key、value数据

语法:set key value

2、查询指令

功能:根据key查询

get key

如果没有key的话 就会返回nil。

3、清除屏幕

clear

4、帮助信息

help 【命令名】

help @组名

比如所 help @string

5、退出命令

exit

esc按键

quit