草庐IT

【Redis入门篇】| 基于Centos7的Redis安装与启动(文末福利免费送书)

@每天都要敲代码 2023-04-14 原文

目录

​一:初识Redis

1. 认识NoSQL

2. 认识Redis

3. 安装与启动Redis

4. Redis命令行客户端

5. 图形化桌面客户端

图书推荐(送书环节)


Redis入门大纲

一:初识Redis

1. 认识NoSQL

传统的关系型数据库SQL和非关系型数据库NoSQL的区别!

(1)结构化(Structured)& 非结构化

存入关系型数据库的数据都是结构化的数据,格式有固定的要求(表和表的约束)

存入非关系数据库的数据都是非结构化数据,常见的NoSQL的4种存储数据库键值对存储数据库、文档存储数据库、列式存储数据库、图形存储数据库!

①键值对存储数据库

key和value的形式,并且对于key和value我们可以自定义:

②文档存储数据库

把数据封装成一条文档存进去,一条数据(Json格式)就对应这关系型数据库中的一行数据

注:文档存储数据库存储的文档可以是不同结构的,即JSON、XML以及BSON等格式。

③列式存储数据库

列式存储数据库是以列为单位存储数据,然后将列值顺序地存入数据库中。

注:在列式存储数据库中,如果列值不存在,则不需要存储(阴影部分为列值不存在),这样的话,遇到Null值,就不需要存储,可以减少I/O操作和避免内存空间的浪费。

④图形存储数据库

存入的每一个数据可以看成一个节点,节点与节点之间有联系。

(2)关系的(Relational)& 非关系的

①关系型数据库,数据与数据之间建立关系的

一个tb_user表(用户表)

一个tb_item表(商品表)

要想让两张表有关系,需要一个订单表(tb_order)

表和表之间通过外键关系建立起来了,一旦建立,后面删除一个用户tb_user或者一个商品tb_item就不允许这样做,因为在其它表中有关联!并且这种存储方式比较节省空间!

②非关系型的,数据与数据之前没有直接的关联

通过Json文档嵌套的方式去维护关系,这种方式的特点是:没有关联、数据存储重复!

(3)SQL查询 & 非SQL

①SQL语句查询:语法、格式都是固定的

select id,name,age from tb_user where id = 1

②非SQL语句查询:没有固定的语法格式、不统一

get user:1

(4)事务

①SQL关系型数据库的事务需要满足ACID特性:原子性、一致性、隔离性、持久性。

②NoSQL数据库要么没有事务,要么只能满足基本一致性(BASE)。

总结

2. 认识Redis

Redis诞生于2009年全称是Remote Dictionary Server远程词典服务器,是一个基于内存的键值型NoSQL数据库。

特征

①键值(key-value)型,value支持多种不同数据结构,功能丰富;

②单线程,每个命令具备原子性;

③低延迟,速度快(基于内存、IO多路复用、良好的编码);

④支持数据持久化;

⑤支持主从集群、分片集群;

⑥支持多语言客户端。

3. 安装与启动Redis

 Redis的官方网站地址:https://redis.io/

大多数企业都是基于Linux服务器来部署项目,而且Redis官方也没有提供Windows版本的安装包;所以我会使用虚拟机CentOS 7版本Linux系统来安装Redis!

(1)安装Redis依赖

Redis是基于C语言编写的,因此首先需要安装Redis所需要的gcc依赖:

yum install -y gcc tcl

(2)上传安装包并解压安装

使用Xshell进行远程连接,把下载好的redis安装好直接拖拽到我们需要的安装目录!

注:Xshell、SecureCRT自带的有sz、rz服务,可以进行上传和下载不超过4G的文件!

例如:传到/usr/local/src/目录

进行解压

tar -zxvf 压缩包名

解压过后,进入redis目录,运行编译和安装命令:

cd redis-6.2.6 #进入这个目录
make && make install #进行编译和安装

默认的安装路径是在目录下: /usr/local/bin

该目录已经默认配置到环境变量,因此可以在任意目录下运行这些命令。其中:

①redis-cli:是redis提供的命令行客户端;

②redis-server:是redis的服务端启动脚本;

③redis-sentinel:是redis的哨兵启动脚本;

(3)启动

redis的启动方式有很多种,例如:

①默认启动;

②指定配置启动;

③开机自启;

①默认启动

安装完成后,在任意目录输入redis-server命令即可启动Redis:

redis-server

如图:

注:这种启动属于前台启动,会阻塞整个会话窗口,窗口关闭或者按下CTRL + C则Redis停止;不推荐使用。

②指定配置启动

如果要让Redis以后台方式启动,则必须修改Redis配置文件,就在我们之前解压的redis安装包下(/usr/local/src/redis-6.2.6),名字叫redis.conf!

先将这个配置文件备份一份(养成好习惯,修改一个配置文件之前,先拷贝一份)

cp redis.conf redis.conf.bck

修改redis.conf文件中的一些配置:  

注:这个文件很大,可以先使用vim打开,然后命令行模式下使用 "/单词名“ 搜索方式进行查询,如果当前单词不是,按"n键"快速定位到下一个相同的单词;并且我们也可以使用 "set nu" 命令显示行号,便于下次我们查询!

# 允许访问的地址,默认是127.0.0.1,会导致只能在本地访问
# 修改为0.0.0.0则可以在任意IP访问,生产环境不要设置为0.0.0.0
bind 0.0.0.0
# 守护进程,修改为yes后即可后台运行
daemonize yes 
# 密码,设置后访问Redis必须输入密码
requirepass 123456

Redis的其它常见配置:

# 监听的端口
port 6379
# 工作目录,默认是当前目录,也就是运行redis-server时的命令,日志、持久化等文件会保存在这个目录
dir .
# 数据库数量,设置为1,代表只使用1个库,默认有16个库,编号0~15
databases 1
# 设置redis能够使用的最大内存
maxmemory 512mb
# 日志文件,默认为空,不记录日志,可以指定日志文件名
logfile "redis.log"

启动Redis:

# 进入redis安装目录 
cd /usr/local/src/redis-6.2.6
# 启动
redis-server redis.conf #这样才能让这个配置文件生效

此时没有任何输出信息在前台,那么怎么判定我们成功启动了redis呢?

可以查看(默认)端口的运行状态

netstat -tunple | grep 6379

或者查看进程

ps -ef | grep redis

停止服务:

# 利用redis-cli来执行 shutdown 命令,即可停止 Redis 服务,
# 因为之前配置了密码,因此需要通过 -u 来指定密码
redis-cli -u 123321 shutdown

③开机自启

我们也可以通过配置来实现开机自启!

首先,新建一个系统服务文件:

vi /etc/systemd/system/redis.service

内容如下:

[Unit]
Description=redis-server
After=network.target

[Service]
Type=forking
ExecStart=/usr/local/bin/redis-server /usr/local/src/redis-6.2.6/redis.conf
PrivateTmp=true

[Install]
WantedBy=multi-user.target

然后重载系统服务:

systemctl daemon-reload

现在,我们可以用下面这组命令来操作redis了:

# 启动
systemctl start redis
# 停止
systemctl stop redis
# 重启
systemctl restart redis
# 查看状态
systemctl status redis

设置redis开机自启

systemctl enable redis

4. Redis命令行客户端

安装完成Redis,就可以操作Redis,实现数据的CRUD了。这需要用到Redis客户端,包括:

①命令行客户端;

②图形化桌面客户端;

③编程客户端(后面讲);

Redis安装完成后就自带了命令行客户端:redis-cli,使用方式如下:

redis-cli [options] [commonds]

其中常见的options有:

-h 127.0.0.1:指定要连接的redis节点的IP地址,默认是127.0.0.1
-p 6379:指定要连接的redis节点的端口,默认是6379
-a 123321:指定redis的访问密码

其中的commonds就是Redis的操作命令,例如:

ping:与redis服务端做心跳测试,服务端正常会返回`pong`

不指定commond时,会进入redis-cli的交互控制台

 输入密码进行交互

前面是可以正常交互,但是警告我们使用-a参数指定密码不安全,怎么办呢?

此时可以进行数据的存储(set)和 取出(get)

5. 图形化桌面客户端

(1)GitHub上的大神编写了Redis的图形化桌面客户端,地址:GitHub - RedisInsight/RedisDesktopManager: Cross-platform Developer GUI for Redis

不过该仓库提供的是RedisDesktopManager的源码,并未提供windows安装包。

(2)在下面这个仓库可以找到安装包:Releases · lework/RedisDesktopManager-Windows · GitHub  

进行解压安装,双击可执行文件,进行连接

输入IP和密码进行连接

连接成功进入以下界面

Redis默认有16个仓库,编号从0至15,通过配置文件可以设置仓库数量,但是不超过16,并且不能自定义仓库名称。下标从0开始,并且第一个数据库中还有我们前面存储的数据! 

此时想要在其它库中创建数据(库与库之前进行穿梭)

如果是基于redis-cli连接Redis服务,可以通过select命令来选择数据库!

第一种方式:使用命令 “select 库的下标”

第二种方式:使用图形化界面

 添加成功

图书推荐(送书环节)

本期图书:RHCSA/RHCE8红帽Linux认证学习教程》

        本书从零基础开始讲解,系统介绍了RHCE8的相关知识,以帮助读者快速了解及熟练掌握RHCE8的相关操作,是一本高品质的RHCE认证的学习书籍。

        本书分为9篇,共35章。第1篇主要介绍基本配置;第2篇主要介绍用户及权限管理;第3篇主要介绍网络相关配置;第4篇主要介绍存储管理;第5篇主要介绍系统管理;第6篇主要介绍软件管理;第7篇主要介绍安全管理;第8篇主要介绍容器管理;第9篇主要介绍自动化管理工具ansible的使用。

        本书适用于希望通过RHCE(红帽认证工程师)考试的读者学习,也可以作为培训班的教材使用。

京东自营购买链接:

《RHCSA/RHCE8红帽Linux认证学习教程 红帽中国培训事业部淮晋阳作序推荐》(段超飞)【摘要 书评 试读】- 京东图书

有关【Redis入门篇】| 基于Centos7的Redis安装与启动(文末福利免费送书)的更多相关文章

  1. ruby - 在 64 位 Snow Leopard 上使用 rvm、postgres 9.0、ruby 1.9.2-p136 安装 pg gem 时出现问题 - 2

    我想为Heroku构建一个Rails3应用程序。他们使用Postgres作为他们的数据库,所以我通过MacPorts安装了postgres9.0。现在我需要一个postgresgem并且共识是出于性能原因你想要pggem。但是我对我得到的错误感到非常困惑当我尝试在rvm下通过geminstall安装pg时。我已经非常明确地指定了所有postgres目录的位置可以找到但仍然无法完成安装:$envARCHFLAGS='-archx86_64'geminstallpg--\--with-pg-config=/opt/local/var/db/postgresql90/defaultdb/po

  2. ruby - 完全离线安装RVM - 2

    我打算为ruby​​脚本创建一个安装程序,但我希望能够确保机器安装了RVM。有没有一种方法可以完全离线安装RVM并且不引人注目(通过不引人注目,就像创建一个可以做所有事情的脚本而不是要求用户向他们的bash_profile或bashrc添加一些东西)我不是要脚本本身,只是一个关于如何走这条路的快速指针(如果可能的话)。我们还研究了这个很有帮助的问题:RVM-isthereawayforsimpleofflineinstall?但有点误导,因为答案只向我们展示了如何离线在RVM中安装ruby。我们需要能够离线安装RVM本身,并查看脚本https://raw.github.com/wayn

  3. ruby-on-rails - rails 目前在重启后没有安装 - 2

    我有一个奇怪的问题:我在rvm上安装了ruby​​onrails。一切正常,我可以创建项目。但是在我输入“railsnew”时重新启动后,我有“程序'rails'当前未安装。”。SystemUbuntu12.04ruby-v"1.9.3p194"gemlistactionmailer(3.2.5)actionpack(3.2.5)activemodel(3.2.5)activerecord(3.2.5)activeresource(3.2.5)activesupport(3.2.5)arel(3.0.2)builder(3.0.0)bundler(1.1.4)coffee-rails(

  4. ruby - 如何为 emacs 安装 ruby​​-mode - 2

    我刚刚为fedora安装了emacs。我想用emacs编写ruby。为ruby​​提供代码提示、代码完成类型功能所需的工具、扩展是什么? 最佳答案 ruby-mode已经包含在Emacs23之后的版本中。不过,它也可以通过ELPA获得。您可能感兴趣的其他一些事情是集成RVM、feature-mode(Cucumber)、rspec-mode、ruby-electric、inf-ruby、rinari(用于Rails)等。这是我当前用于Ruby开发的Emacs配置:https://github.com/citizen428/emacs

  5. ruby-on-rails - 无法在centos上安装therubyracer(V8和GCC出错) - 2

    我正在尝试在我的centos服务器上安装therubyracer,但遇到了麻烦。$geminstalltherubyracerBuildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingtherubyracer:ERROR:Failedtobuildgemnativeextension./usr/local/rvm/rubies/ruby-1.9.3-p125/bin/rubyextconf.rbcheckingformain()in-lpthread...yescheckingforv8.h...no***e

  6. ruby - 通过 RVM (OSX Mountain Lion) 安装 Ruby 2.0.0-p247 时遇到问题 - 2

    我的最终目标是安装当前版本的RubyonRails。我在OSXMountainLion上运行。到目前为止,这是我的过程:已安装的RVM$\curl-Lhttps://get.rvm.io|bash-sstable检查已知(我假设已批准)安装$rvmlistknown我看到当前的稳定版本可用[ruby-]2.0.0[-p247]输入命令安装$rvminstall2.0.0-p247注意:我也试过这些安装命令$rvminstallruby-2.0.0-p247$rvminstallruby=2.0.0-p247我很快就无处可去了。结果:$rvminstall2.0.0-p247Search

  7. ruby - 如何在 Lion 上安装 Xcode 4.6,需要用 RVM 升级 ruby - 2

    我实际上是在尝试使用RVM在我的OSX10.7.5上更新ruby,并在输入以下命令后:rvminstallruby我得到了以下回复:Searchingforbinaryrubies,thismighttakesometime.Checkingrequirementsforosx.Installingrequirementsforosx.Updatingsystem.......Errorrunning'requirements_osx_brew_update_systemruby-2.0.0-p247',pleaseread/Users/username/.rvm/log/138121

  8. ruby - Fast-stemmer 安装问题 - 2

    由于fast-stemmer的问题,我很难安装我想要的任何ruby​​gem。我把我得到的错误放在下面。Buildingnativeextensions.Thiscouldtakeawhile...ERROR:Errorinstallingfast-stemmer:ERROR:Failedtobuildgemnativeextension./System/Library/Frameworks/Ruby.framework/Versions/2.0/usr/bin/rubyextconf.rbcreatingMakefilemake"DESTDIR="cleanmake"DESTDIR=

  9. ruby-on-rails - 启动 Rails 服务器时 ImageMagick 的警告 - 2

    最近,当我启动我的Rails服务器时,我收到了一长串警告。虽然它不影响我的应用程序,但我想知道如何解决这些警告。我的估计是imagemagick以某种方式被调用了两次?当我在警告前后检查我的git日志时。我想知道如何解决这个问题。-bcrypt-ruby(3.1.2)-better_errors(1.0.1)+bcrypt(3.1.7)+bcrypt-ruby(3.1.5)-bcrypt(>=3.1.3)+better_errors(1.1.0)bcrypt和imagemagick有关系吗?/Users/rbchris/.rbenv/versions/2.0.0-p247/lib/ru

  10. ruby - 安装 Ruby 时遇到问题(无法下载资源 "readline--patch") - 2

    当我尝试安装Ruby时遇到此错误。我试过查看this和this但无济于事➜~brewinstallrubyWarning:YouareusingOSX10.12.Wedonotprovidesupportforthispre-releaseversion.Youmayencounterbuildfailuresorotherbreakages.Pleasecreatepull-requestsinsteadoffilingissues.==>Installingdependenciesforruby:readline,libyaml,makedepend==>Installingrub

随机推荐