Redis02:Linux环境安装Redis

Redis官方网站Redis中文官方网站
http://redis.iohttp://redis.cn/

1、安装步骤

第一步:下载Redis安装包

第二步:使用Xftp工具上传redis-5.0.7.tar.gz到linux 系统。

第三步:解压redis-5.0.2.tar.gz到/opt目录

第四步:编译redis,进入解压目录

第五步:基本的环境安装(安装gcc)

yum install gcc-c++

什么是 gcc ?

gcc是GNU compiler collection的缩写,它是Linux下一个编译器集合(相当于javac ),是 c 或 c++ 程序的编译器。

第六步:执行make命令进行编译

第七步:执行make install安装redis

注意:在make执行之后再执行 make install,该操作则将 src下的许多可执行文件复制到/usr/local/bin 目录下,这样做可以在任意目录执行redis的软件的命令(例如启动,停止,客户端连接服务器等), make install 可以不用执行,看个人习惯。

查看make编译结果,cd src目录

第八步:将redis配置文件复制到我们当前目录下

第九步:redis默认不是后台启动的,需要修改配置文件保证后台启动

[root@hcz hconfig]# vim redis.conf 

第十步:启动Redis服务

[root@hcz bin]# redis-server hconfig/redis.conf 

第十一步:使用redis客户端进行连接

[root@hcz bin]# redis-cli -p 6379

第十二步:查看redis的进程是否开启

[hcz666@hcz ~]$ ps -ef|grep redis

第十三步:关闭redis服务

①使用redis客户端关闭,向服务器发出关闭命令

单实例关闭:redis-cli shutdown

也可以进入终端后再关闭(下面为进入终端后关闭的)

多实例关闭,指定端口关闭:redis-cli -p 6379 shutdown

退出Redis客户端:exit或者quit指令。

推荐使用这种方式, redis先完成数据操作,然后再关闭。
例如:

再一次查看进程已经关闭

②kill pid 或者 kill -9 pid

这种不会考虑当前应用是否有数据正在执行操作,直接就关闭应用。

先使用 ps -ef | grep redis 查出进程号,再使用 kill pid

2、Redis基本知识

2.1 测试Redis性能

序号选项描述默认值
1-h指定服务器主机名127.0.0.1
2-p指定服务器端口号6379
3-s指定服务器socker
4-c指定并发数50
5-n指定请求数10000
6-d以字节的形式指定 SET/GET 值的数据大小3
7-k1=keep alive 0=reconnect1

示例:100个并发连接,100000次请求

首先进入bin目录

[hcz666@hcz ~]$ cd /usr/local/bin
[hcz666@hcz bin]$ redis-benchmark -h localhost -p 6379 -c 100 -n 100000

2.2 Redis沟通命令,查看状态

redis >ping 
返回PONG

#解释:输入ping,redis给我们返回PONG,表示redis服务运行正常

2.3 查看redis服务器的统计信息:info

语法:info [section]

作用:以一种易于解释且易于阅读的格式,返回关于 Redis 服务器的各种信息和统计数值。section 用来返回指定部分的统计信息。 section的值:server , clients ,memory等等。不加section 返回全部统计信息

返回值:指定section的统计信息或全部信息

例1:统计server的信息

例2:统计全部信息

2.4 redis默认使用16个库

​ Redis默认使用16个库,从0到15。 对数据库个数的修改,在redis.conf文件中databases 16,理论上可以配置无限多个。

Redis的库和关系型数据库中的数据库实例类似,但又有一些不同,比如redis中各个库不能自定义命名,只能用序号表示,redis中各个库不是完全独立的,使用时最好一个应用使用一个redis实例,不建议一个redis实例中保存多个应用的数据。Redis实例本身所占存储空间其实是非常小的,因此不会造成存储空间的浪费。

2.5 切换库命令:select db

默认使用第0个,如果要使用其他数据库,命令是 select index

2.6 查看当前数据库中key的数目:dbsize

#语法:dbsize#作用:返回当前数据库的 key 的数量。#返回值:数字,key的数量

**2.7 查看当前数据库中有哪些key:keys ***

2.8 清空当前库:flushdb

2.9 清空全部数据库内容:flushall

这也体现出redis中的库并不是完全无关的。

**2.10 获得redis的所有配置值:config get ***

例1:获取数据库个数 config get databases

例2:获取端口号config get port

2.11 Redis是单线程+多路IO复用技术

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

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

  • 误区1:高性能服务器一定是多线程?
  • 误区2:多线程(CPU上下文切换)一定比单线程效率高?
  • 核心:redis是将所有的数据全部放置在内存中,座椅使用单线程去操作效率是最高的,因为多线程CPU会进行上下文切换,耗时的操作!!!对于内存系统来说,如果没有上下文切换效率就是最高的,因为多次读写都是在一个CPU上,耗时少。

多路复用:是指使用一个线程来检查多个文件描述符(Socket)的就绪状态,比如调用select和poll函数,传入多个文件描述符,如果有一个文件描述符就绪,则返回,否则阻塞直到超时。得到就绪状态后进行真正的操作可以在同一个线程里执行,也可以启动线程执行(比如使用线程池)

串行 vs 多线程+锁(memcached) vs 单线程+多路IO复用(Redis)

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

@烟雨倾城ゝ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值