【Redis学习笔记-02】Redis入门


Redis入门

概述

Redis 是什么?

Redis(Remote Dictionary Server ),即远程字典服务 !

是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,
并提供多种语言的API。

Redis

redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了
master-slave(主从)同步。
免费和开源!是当下最热门的 NoSQL 技术之一!也被人们称之为结构化数据库

Redis能干嘛?

1、内存存储、持久化,内存中是断电即失、所以说持久化很重要(rdb、aof)

2、效率高,可以用于高速缓存

3、发布订阅系统

4、地图信息分析

5、计时器、计数器(浏览量!)

6、……..

特性

1、多样的数据类型

2、持久化

3、集群

4、事务

起步

1、启动redis服务!

启动redis服务

2、使用redis-cli 进行连接测试!

使用redis-cli 进行连接测试

3、查看redis的进程是否开启!

查看redis的进程是否开启

4、关闭Redis服务!

关闭Redis服务

5、再次查看进程是否存在

再次查看进程是否存在

使用redis-benchmark 测试性能

测试性能 性能参数

我们来简单测试下:

# 测试:100个并发连接 100000请求
redis-benchmark -h localhost -p 6379 -c 100 -n 100000

100个并发连接 100000请求

基础知识

redis默认有16个数据库

redis默认有16个数据库

默认使用的是第0个
可以使用 select 进行切换数据库

127.0.0.1:6379> select 3 # 切换数据库
OK
127.0.0.1:6379[3]> DBSIZE # 查看DB大小!
(integer) 0

select 进行切换数据库

127.0.0.1:6379[3]> keys * # 查看数据库所有的key
1) "name"

清除当前数据库 flushdb
清除全部数据库的内容 FLUSHALL

127.0.0.1:6379[3]> flushdb
OK
127.0.0.1:6379[3]> keys *
(empty list or set)

Redis是单线程的,但为什么这么快?

明白Redis是很快的,官方表示,Redis是基于内存操作,CPU不是Redis性能瓶颈,Redis的瓶颈是根据
机器的内存和网络带宽,既然可以使用单线程来实现,就使用单线程了!所有就使用了单线程了!

Redis 是C 语言写的,官方提供的数据为 100000+ 的QPS,完全不比同样是使用 key-vale的
Memecache差!

Redis 为什么单线程还这么快?

1、误区1:高性能的服务器一定是多线程的?

2、误区2:多线程(CPU上下文会切换!)一定比单线程效率高!

先去CPU>内存>硬盘的速度要有所了解!

核心:redis 是将所有的数据全部放在内存中的,所以说使用单线程去操作效率就是最高的,多线程
(CPU上下文会切换:耗时的操作!!!),对于内存系统来说,如果没有上下文切换效率就是最高
的!多次读写都是在一个CPU上的,在内存情况下,这个就是最佳的方案!


文章作者: 大懒虫
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 大懒虫 !
 上一篇
【Redis学习笔记-03】五大数据类型 【Redis学习笔记-03】五大数据类型
Redis-Key127.0.0.1:6379> keys * # 查看所有的key (empty list or set) 127.0.0.1:6379> set name lazyworm # set key OK 127.0.0.1:
2020-06-03
下一篇 
【Redis学习笔记-01】NoSQL概述 【Redis学习笔记-01】NoSQL概述
Nosql概述 1、Nosql概述 90年代,一个基本的网站访问量一般不会太大,单个数据库完全足够! 那个时候,更多的去使用静态网页 Html ~ 服务器根本没有太大的压力! 思考一下,这种情况下:整个网站的瓶颈是什么? 1、数
2020-06-01
  目录