【Rails】Redis是什么?【用法和安装】

Redis是什么

Redis是一种开源的可以持久化的内存数据库。

Twitter、Github和Pinterest等服务都选择采用Redis,以实现大规模数据处理和速度提升。

这是一个适用于广告宣传和预订系统的用户监控和大规模关注者管理的数据库。

内存数据库是一种专用数据库。
与将数据存储在磁盘或SSD上的数据库不同,它主要依赖于用于数据存储的内存。
通过减少对磁盘访问的需求,它被设计为在最短的响应时间内完成操作。
由于所有数据仅保存和管理在主存储器中,内存数据库存在处理或服务器故障导致数据丢失的风险。
通过将所有操作记录到日志中或获取快照,可以保持数据的持久性。
https://aws.amazon.com/jp/nosql/in-memory/

Redis的特点

①数据持久性功能
由于内存中的数据是易失性的,随着时间的推移,数据会消失。然而,存在将内存中的数据存储到存储器中以永久保留数据的功能。

通过将数据保存为RDB快照以及记录命令的AOF来实现数据的持久化存储。

・关系型数据库(RDB)
RDB是一种通过快照方式来保存类似数据库转储文件的方法。

可以自动设置保存数据,并无需备份数据的麻烦,但在发生故障时可能无法恢复上次的数据等缺点也存在。

转储文件是将计算机的主存储器(RAM)等在某一瞬间的内容完全复制到存储设备(外部存储装置)上的文件。

・AOF
AOF是一种在数据库操作过程中记录使用的命令日志并进行数据备份的方法。

由于AOF在以秒为单位的短时间内记录命令日志,因此命令执行速度会下降,但在发生故障时可以恢复到最近的数据。

②主从复制功能
主从复制功能是将主服务器写入的数据复制到从服务器的功能,从服务器在读取数据时与主服务器进行同步响应。

通过主从复制功能,可以将数据库的写入和读取负载进行分散。

-粗泛解释主从复制功能的术语-
主服务器:正常处理
从服务器:备用处理
复制:复制、复制

使用Redis的好处

1. 可以操作和保存各种复杂类型的数据。
2. 可以从各种应用程序中快速访问。
3. 不会出现不一致的情况。
4. 可以在各种语言的客户端上使用获取的数据。

1. 可以操作和保存复杂类型的数据。

Redis是一个保存数据的Key-Value数据库,与一般的Key-Value数据库不同的是,它提供了多种数据类型。

在中文中提供了各种数据类型,例如字符串类型、列表类型和哈希类型等,可以操作和存储复杂类型的数据。

2. 可以快速访问各种应用程序。

由于Redis是非关系型数据库,因此它可以比关系型数据库更快地访问数据,并且可以从各种应用程序中快速访问数据。

用关系模型建立的数据库将由行和列组成的“表格形式的表”,这些表格相互关联在一起。有时缩写为“RDB”。

3.没有发生不整合

Redis是一种具有原子特性的数据库,当以类似事务处理的方式执行多个操作时,除非所有操作都正确完成,否则数据将回到初始状态。

在执行复杂操作时,由于对多个处理过程进行了保证,可以确保所有处理都被执行或完全不执行,从而避免出现不一致。

4. 可以在各种语言的客户端上使用获取的数据。

通过使用数据类型,可以在Java、Python、PHP等各种语言的客户端中使用获取到的数据。

使用Redis的不利之处

1. 数据的挥发性
2. 内存消耗较大

1. 数据的挥发性 de

由于是在内存中运行的数据库,因此数据是易失性的。数据库运行的主内存可以快速访问数据,但由于是易失性的,只能临时保存数据。

在具有挥发性的Redis中,通过使用RDB或AOF等方式,在可持久保存的存储介质,如硬盘或固态硬盘中,备份数据库是非常重要的。

2. 内存的消耗很大

由于它是在内存中运行的数据库,它会不断消耗内存,导致可用于其他任务的资源减少。

此外,如果重复进行数据库的写入和删除操作,会导致内存中的数据碎片化,可能会降低计算机的性能。

安装

安装需要使用Homebrew。

$ brew install redis
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 2 taps (homebrew/cask, homebrew/core).
==> Updated Formulae
amazon-ecs-cli            docker-swarm              firebase-cli              fuse-emulator             libspectrum               libxmlsec1                ohcount                   ppsspp                    telegraf                  traefik                   wolfssl

==> Downloading https://homebrew.bintray.com/bottles/redis-4.0.9.sierra.bottle.tar.gz
######################################################################## 100.0%
==> Pouring redis-4.0.9.sierra.bottle.tar.gz
==> Caveats
To have launchd start redis now and restart at login:
  brew services start redis
Or, if you don't want/need a background service you can just run:
  redis-server /usr/local/etc/redis.conf
==> Summary
?  /usr/local/Cellar/redis/4.0.9: 13 files, 2.8MB

一个看起来很常用的Redis命令栏

#バージョン確認
redis-server --version
redis-server -v

redis-cli --version
redis-cli -v

#Redisサーバーの起動。強制終了は Ctrl+C (※ データが保存されないことがある)
redis-server

#クライアントからサーバーに接続(別のターミナルでRedisサーバーに接続)
redis-cli

#クライアントの終了
exit

#クライアントからサーバーの終了(※ データが保存される)
shutdown

参考文献

Redis是什么样的数据库?对其三个特征和使用方法进行解释。
清楚地解释Redis的特点和基本使用方法!Redis的用途、优势和应用方法是什么?还向您介绍可用的命令列表。
在Mac上安装Redis。

广告
将在 10 秒后关闭
bannerAds