非关系型内存数据库Redis的基本介绍

本文介绍Redis作为非关系型内存数据库的特点,包括其快速读写能力、丰富的数据类型、分布式存储能力及数据持久化机制,并详细讲解了两种安装方法及其验证过程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

Redis简介:

为什么说Redis是非关系型数据库呢,我的理解就是它采用的是key-value(键值对)的存储方式,而关系型数据库(Oracle、DB2、MySQL、SQL Server等)采用的是行跟列也就是表格的存储方式

那为什么说是内存数据库呢,我的理解是因为它完全是在内存中保存数据的,当然它也会把内存的数据永久保存(默认使用RDB快照方式,当然还有类似MySQL的AOF方式)在硬盘中,以备下次使用。

 

Redis特征(优点)、以及跟Memcache的一些区别:

1、读写速度都非常快(因为它采用key-value存储,在内存中操作)===》Memcache读的速度快但是写的速度不及Redis

2、存储数据类型丰富,主要有String(字符串)、List(链表)、Set(集合)、Sorted Set(有序集合)、Hashes(哈希)等====>Memcache支持的数据结构比较单一,复杂的数据对象要客户端自己去定义

3、分布式存储(3.0版本的在服务器构建分布式存储)===>Memcache只能在客户端上进行分布式存储

4、数据永久性,可恢复(会在硬盘上进行保存)===》Memcache只在内存上进行保存,断电、重启数据消失,不可恢复

 

 

Redis安装(目前Redis只支持Linux):

安装方法主要有两个,是下载安装包,是到GitHub官网克隆

 

方法一步骤:

 

1、下载安装包:可以到Redis中文网站下载,也可以到Redis官网下载,目前最新最稳定的版本是3.2.6。我是到Redis中文网站下载的

2、解压: tar -xzvf redis-3.2.6.tar.gz 

3、cd redis-3.2.6

4、 make

5、sudo make install(这一步实际是将可执行程序移动/usr/local/lib中),这样就可以跟普通命令,比如ls一样运行了

 

方法二步骤:

 

1、git clone git@github.com:hongdingyi/redis.git

2、cd redis

3、make 

4、sudo make install

 

采用以上任一方法都可以完成Redis的安装,那么如何验证是否真真成功呢,首先我们打开一个终端,输入redis-server,如果出现下面这些字样,代表服务器启动成功了。

                _._                                                  
           _.-``__ ''-._                                             
      _.-``    `.  `_.  ''-._           Redis 3.2.6 (00000000/0) 32 bit
  .-`` .-```.  ```\/    _.,_ ''-._                                   
 (    '      ,       .-`  | `,    )     Running in standalone mode
 |`-._`-...-` __...-.``-._|'` _.-'|     Port: 6379
 |    `-._   `._    /     _.-'    |     PID: 10072
  `-._    `-._  `-./  _.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |           http://redis.io        
  `-._    `-._`-.__.-'_.-'    _.-'                                   
 |`-._`-._    `-.__.-'    _.-'_.-'|                                  
 |    `-._`-._        _.-'_.-'    |                                  
  `-._    `-._`-.__.-'_.-'    _.-'                                   
      `-._    `-.__.-'    _.-'                                       
          `-._        _.-'                                           
              `-.__.-'                                               

10072:M 17 Jan 15:37:04.620 # WARNING: The TCP backlog setting of 511 cannot be enforced because /proc/sys/net/core/somaxconn is set to the lower value of 128.
10072:M 17 Jan 15:37:04.620 # Server started, Redis version 3.2.6
10072:M 17 Jan 15:37:04.620 # WARNING you have Transparent Huge Pages (THP) support enabled in your kernel. This will create latency and memory usage issues with Redis. To fix this issue run the command 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' as root, and add it to your /etc/rc.local in order to retain the setting after a reboot. Redis must be restarted after THP is disabled.
10072:M 17 Jan 15:37:04.620 * DB loaded from disk: 0.000 seconds
10072:M 17 Jan 15:37:04.620 * The server is now ready to accept connections on port 6379

 

接下来我们再打开一个新终端,输入redis-cli

如果出现127.0.0.1:6379>   恭喜你成功连接到Redis服务器

此时你输入ping,就会收到一个PONG

这样我们的Redis就真真安装成功了,如果有小伙伴还没有到达这步,那就通过度娘自行查找解决哈(增强自己解决问题的能力奋斗,是每个程序员必须要学会的)。

 

 

Redis配置文件中一些简单但需了解的知识:

Redis的配置文件名是redis.conf,如果我们是按上面任一方法安装的,那么redis.conf~/redis-3.2.6这个目录下,如果我们不知道配置文件所在路径,我们可以在终端输入下面这个命令

sudo find / -name redis.conf这样就可以找到它的路径了。

 

配置文件中一些基本信息:

daemonize no
默认redis不是在后台运行的守护进程。如果需要在后台运行,把该项的值更改为yes;

 

 

port 6379
表示redis运行的端口,默认是6379;

 

 

bind 127.0.0.1
表示redis只接收来自于该IP地址的请求;


 

databases 16
表示可用数据库数,默认值为16,默认数据库为0,数据库范围在0​ 15之间切换,彼此隔离;

 

 

rdbcompression yes
存储至本地数据库时(持久化到rdb文件)是否压缩数据,默认为yes;Redis默认是采用RDB快照方式存储内存数据的

 


dbfilename dump.rdb
本地持久化数据库文件名,默认值为dump.rdb;

 

 

 202 save 900 1
 203 save 300 10
 204 save 60 10000

指出在多长时间内,有多少次更新操作, 就将数据同步到数据文件rdb。

相当于条件触发抓取快照,这个可以多个条件配合。 save 900 1就表示900秒内至少有1
个key被改变就保存数据到磁盘,多个条件之间是"或的关系",如果想禁用自动快照只需要把所有的save注释

 


dir ./
工作目录,数据库镜像备份的文件放置的路径。这里的路径跟文件名要分开配置是因为redis在
进行备份时, 先会将当前数据库的状态写入到一个临时文件中,等备份完成时,再把该临时文件
替换为上面所指定的文件。
而这里的临时文件和上面所配置的备份文件都会放在这个指定的
路径当中,AOF文件(AOF方式存储产生的文件)也会存放在这个目录下面。注意这里必须指定一个目录而不是文件;

 

 

appendonly no

默认情况下Redis没有开启AOF方式进行持久化

 

 

appendfilename appendonly.aof
AOF方式生成的文件名称,默认为"appendonly.aof";

 

 

maxclients 128
设置同一时间最大客户端连接数,默认无限制。如果设置 maxclients  0,表示不作限制。当客户端连接数到
达限制时, Redis会关闭新的连接并向客户端返回max number of clients reached错误信息;

 

下一篇Redis常用数据类型及相关操作

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值