Redis学习第二天 config守护线程设置,客户端访问

本文介绍了如何将Redis服务器设置为守护进程,以便在后台运行而不影响其他操作。通过修改redis.conf文件中的daemonize选项,启动Redis并检查其是否成功运行。此外,还讲述了如何使用redis-cli客户端连接到Redis服务器进行交互,包括切换数据库和理解Redis的单线程与多路IO复用技术,以揭示其高效性能的原因。

启动redis-server后,前台就变得无法操作了,通常修改config文件可以解决这一个问题。

小插曲

为了能够winScp用root登陆,修改一下配置文件

执行 gedit /etc/ssh/sshd_config

之后将其中的“PermitRootLogin prohibit-password” 修改为“PermitRootLogin  yes”。

 

回归正题

1,configshezh

之后同样方法,进入你redis的编译目录(非bin),

将redis config中的 将daemonize no修改为 daemonize yes

gedit redis.conf


意味着用户线程变成守护线程

 这个时候再执行

redis-server /opt/tools/redis/redis-3.2.5/redis.conf

发现第一天启动时的大图标没了,并且可以继续操作,这个时候查看后台服务,发现redis已经启动,大功告成

ps -ef | grep redis

 

2,redis客户端访问

  现在后台redis服务器已经跑起来了,我们需要进入一个可以执行redis各种命令的客户端(类似于sql developer一样的感觉)

   输入命令

   redis-cli 

 测试验证

  ping

>pong   (这redis开发的人员怕是热衷于乒乓?)

上面为止是redis的安装和启动,现在开始划知识点

一, redis默认16个数据库,初始默认使用0号库

    可以试用select index 选择当前使用的库

     

 

二,单线程+ 多路IO复用技术

     redis为什么快?

    1、首先我们的db是基于内存的,也就是说少了磁盘IO的开销,博主以前因为项目原因经常要自己写统计信息,避免高IO的SQL真是苦不堪言。

    2、redis是单线程的,多线程往往牵涉到底层硬件问题,还有线程优先级问题(java默认线程优先级是多少?-5)

    3,IO复用,以前我们每个Socket创建一个connection,发送到app,app再安排出一个io去给你返回结果(多线程情况),往往一旦socket多的时候会造成阻塞和等待,为了解决这个问题,redis对于多个socket只使用一个IO,读作复用,在有些Socket并没有实际请求的时候并不进行IO. 另一点,对于同时到达的多个Socket进行Mapping,这样IO后的结果可以知道应该返回给哪个请求,而避免了创建多个IO造成的阻塞。

      

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值