linux redis 启动了 不能使用 linux启动redis客户端

admin2024-05-30  21

一、Redis概述

1、Redis是什么

     Redis全称:REmote DIctionary Server(远程字典服务器)。是完全开源免费的,用C语言编写的软件。

     Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等类型。

2、Redis能做什么

    1)内存存储和持久化:redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务

    2)为频繁获取最新N个数据的操作设置缓存,如:可以将最新的10条评论的ID放在Redis的List集合里面

    3)模拟类似于HttpSession这种需要设定过期时间的功能

    4)发布、订阅消息系统

    5)定时器、计数器等等 

3、为什么需要NoSQL

     NoSQL = Not Only SQL(不仅仅是SQL)。泛指非关系型数据库,主流 NOSQL产品有 redis,mongodb等。

     随着互联网 2.0网站的兴起,传统的关系型数据库在应付web2.0网站,暴露了很多难以克服的问题,而非关系型数据库则由于其本身的特点得到了非常迅速的发展。

     high performance ,高并发读写,动态页面展示与交互,比如微博点赞评论等操作,实时统计在线人数排行榜等

     huge storage,海量数据的高效存储和访问,大型网站的用户登录系统

     high scalability && high availability,高可扩展性和高可用性

二、Linux 环境下安装Redis

Redis的版本号:

  1. 版本号第二位为奇数,为非稳定版本
  2. 版本号第二为偶数,为稳定版本,比如5.0.5

1、从官网下载Redis源码包并上传到家目录

     Redis的官方文档相当丰富和齐全:

http://redis.io/   

http://www.redis.cn/

  1. redis命令大全:http://www.redis.cn/commands.html

    这里安装上传下载工具包 # rz(上传) 及 # sz(下载),(也可以使用xftp上传):# yum install -y lrzsz

[root@centos7 ~]# yum install -y lrzsz
[root@centos7 ~]# rz
rz waiting to receive.
 zmodem trl+C ȡ

  100%    1929 KB 1929 KB/s 00:00:01       0 Errors

注意:Redis进行源码安装,需要 c 语言的编译环境,所以安装 Redis 之前确保 gcc,否则会出现后面的错误

[root@centos7 ~]#  yum install -y gcc

2、解压 Redis 源码包,进入解压目录下

[root@centos7 ~]# tar -zxvf redis-5.0.5.tar.gz 
...
[root@centos7 ~]# cd redis-5.0.5/

3、make 命令编译并安装,这里指定安装的目录是 /usr/local/redis (目录不存在时会自己创建)

[root@centos7 redis-5.0.5]# make PREFIX=/usr/local/redis install

   Redis 安装就搞定了。最后把安装包里的 redis.conf 配置文件复制到安装目录。

注意:如果不复制,Redis 会使用用一套默认配置启动,这个配置没法修改,不可控制。所以复制之后,后面可以进行集群配置

[root@centos7 redis-5.0.5]# cp redis.conf /usr/local/redis/

   

linux redis 启动了 不能使用 linux启动redis客户端,linux redis 启动了 不能使用 linux启动redis客户端_Redis,第1张

 

4、如果没有安装 gcc 就执行上面的 make命令,报错如下:

    

linux redis 启动了 不能使用 linux启动redis客户端,linux redis 启动了 不能使用 linux启动redis客户端_redis_02,第2张

  然后安装 gcc 之后,又报错:

   

linux redis 启动了 不能使用 linux启动redis客户端,linux redis 启动了 不能使用 linux启动redis客户端_Redis_03,第3张

    出现致命错误是因为:Redis在编译时便会指定内存分配器;内存分配器可以是 libc 、jemalloc或者tcmalloc,默认是jemalloc。jemalloc 作为Redis的默认内存分配器,在减小内存碎片方面做的相对比较好。

两个解决方案:

    1)不用这个内存分配器,用libc,make MALLOC=libc,(不推荐建议使用用)

    2)进入deps目录,手动编译 jemalloc...等。操作如下(推荐使用)

# 安装gcc
[root@centos7 redis-5.0.5]# yum install -y gcc
...
# 手动编译jemalloc等
[root@centos7 redis-5.0.5]# cd ./deps
[root@centos7 deps]# make hiredis jemalloc linenoise lua
...
# 安装redis
[root@centos7 deps]# cd ..
[root@centos7 redis-5.0.5]# make PREFIX=/usr/local/redis install

三、Redis的启动和关闭

启动Redis

1、直接启动,不建议使用,因为这种启动方法的 redis不能进行集群   

[root@centos7 ~]# /usr/local/redis/bin/redis-server

2、指定配置文件启动(推荐使用),可以进行集群

    1)vi修改 redis.conf 配置文件的136行(开启守候进程):daemonize no  改为 yes

[root@centos7 bin]# cd /usr/local/redis/
[root@centos7 redis]# vim ./redis.conf

   

linux redis 启动了 不能使用 linux启动redis客户端,linux redis 启动了 不能使用 linux启动redis客户端_安装启动与关闭和连接Redis_04,第4张

 

    2)使用指定配置文件启动:

[root@centos7 redis]# ./bin/redis-server ./redis.conf 
14490:C 27 Apr 2020 21:46:55.613 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
14490:C 27 Apr 2020 21:46:55.613 # Redis version=5.0.5, bits=64, commit=00000000, modified=0, pid=14490, just started
14490:C 27 Apr 2020 21:46:55.613 # Configuration loaded
[root@centos7 redis]#

关闭Redis

1、通过结束 Redis进程的方式关闭,不建议使用:# kill -9 pid

[root@centos7 redis]# ps -ef | grep redis
root      14491      1  0 21:46 ?        00:00:00 ./bin/redis-server 127.0.0.1:6379
root      14496   9458  0 21:47 pts/0    00:00:00 grep --color=auto redis
[root@centos7 redis]# kill -9 14491

2、在 redis-cli 中,调用 shutdown 命令(推荐使用)

  • shutdown nosave|save   默认save,执行持久化
[root@centos7 redis]# ./bin/redis-server ./redis.conf    
14508:C 27 Apr 2020 21:54:49.418 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo
14508:C 27 Apr 2020 21:54:49.418 # Redis version=5.0.5, bits=64, commit=00000000, modified=0, pid=14508, just started
14508:C 27 Apr 2020 21:54:49.418 # Configuration loaded

[root@centos7 redis]# ./bin/redis-cli shutdown

linux redis 启动了 不能使用 linux启动redis客户端,linux redis 启动了 不能使用 linux启动redis客户端_Redis_05,第5张

 

四、使用 redis-cli 连接到Redis

1、已启动 Redis,连接本机的本机的 redis,使用的是默认端口 6379

[root@centos7 redis]# ./bin/redis-cli
127.0.0.1:6379>

2、指定 ip 地址和端口连接 redis:# ./bin/redis-cli -h ip地址 -p 端口号,

如果配置了密码,连接进入之后,使用 auth 命令。

[root@centos7 redis]# ./bin/redis-cli -h 192.168.198.5 -p 6379
192.168.198.5:6379> QUIT

注意:使用 ip 地址连接 redis,在默认的 bind 并添加远程 ip, 修改配置文件需要重启redis。

或者注释掉 bind(不推荐),注释掉,Redis 会进去受保护模式,读写值就会被拒绝,除非在配置文件中关闭受保护模式(88行 protected-mode no)。

     

linux redis 启动了 不能使用 linux启动redis客户端,linux redis 启动了 不能使用 linux启动redis客户端_Redis_06,第6张

3、退出连接,quit

ends~

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明原文出处。如若内容造成侵权/违法违规/事实不符,请联系SD编程学习网:675289112@qq.com进行投诉反馈,一经查实,立即删除!