Your Heart's A Bird Without The Wings To Fly
Redis入门
Redis入门

Redis入门

介绍

Redis能干嘛

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

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

3.发布订阅系统

4.地图信息分析

5.计时器、计数器

特性

1.多样的数据类型

2.持久化

3.集群

4.事务

Linux安装

官网:http://redis.cn/
​
1.下载、解压、上传
​
2.#apt -y install gcc
​
3.#make && make install 
​
4.默认安装路径/usr/local/reids
​
5.备份redis.conf文件
​
6.redis默认是不后台启动的,修改redis.conf(在刚刚解压的文件里 )
 # 找到daemonize no 修改为yes
​
7.启动服务(启动指定配置文件)
# redis-server /opt/redis-6.0.6/redis.conf
​
8.使用Redis客户端测试连接
root@test:/usr/local/bin# redis-cli -p 6379
127.0.0.1:6379> ping
PONG
​
9.关闭Redis
127.0.0.1:6379> SHUTDOWN
not connected> exit
root@test:/usr/local/bin# 

性能测试

测试:100个并发连接 10000个请求
#redis-benchmark -h localhost -p 6379 -c 100 -n 10000
​
查看分析
====== SET ======
 10000 requests completed in 0.17 seconds  #对我们的一万个请求进行写入测试
 100 parallel clients                                       #100个并发客户端
 3 bytes payload                                            #每次写入3个字节
keep alive: 1                                                  #只有一台服务器,单机性能
62.58% <= 1 milliseconds                            #所有请求在3毫秒内完成
99.64% <= 2 milliseconds
100.00% <= 2 milliseconds
60606.06 requests per second
​

基础知识

Redis默认有16个数据库

默认使用的是第0个

127.0.0.1:6379> SELECT 3   #切换数据库
OK
​
127.0.0.1:6379[3]> DBSIZE  #查看DB大小
(integer) 4
​
127.0.0.1:6379[3]> keys *  #查看数据库所有的key
1) "name"
​
127.0.0.1:6379[3]> FLUSHALL #清空所有数据库内容
OK
​
127.0.0.1:6379[3]> FLUSHDB #清空当前数据库内容
OK

Redis是单线程的!

官方表示,Redis是基于内存操作,CPU不是Redis性能瓶颈,Redis的瓶颈是根据机器的内存和网络带宽,即可以使用单线程来实现,不需要花里胡哨!

Redis是C语言写的,官方提供的数据为10000QPS,完全不比同样适用key-vale的Memcache差

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

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

误区2:多线程一定比单线程效率高

核心:Redis是将所有的数据全部放在内存中,所以使用单线程去操作就是效率最高的,多线程CPU会上下切换,很耗时!对于内存系统来说,单线程效率最高!

Leave a Reply

Your email address will not be published. Required fields are marked *