您当前的位置: 首页 >  linux

Charge8

暂无认证

  • 1浏览

    0关注

    447博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

Linux下安装启动与关闭和连接Redis

Charge8 发布时间:2020-04-27 22:36:15 ,浏览量:1

一、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的官方文档相当丰富和齐全:
  1. http://redis.io/   
  2. http://www.redis.cn/
  3. 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/

    

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

    

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

   

    出现致命错误是因为: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 

     

    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 

 

四、使用 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)。

     

3、退出连接,quit

ends~

关注
打赏
1664721914
查看更多评论
立即登录/注册

微信扫码登录

0.0434s