NoSQL&Redis的介绍和Redis安装部署,通过yum在线安装Redis,通过源码安装Redis;

目录

    • 1、Redis简介
      • 1)、Redis是什么?
      • 2)、Redis能干嘛?
      • 3)、可以从哪里去下载Redis?
      • 4)、使用Redis进行的多种操作
      • 5)、Redis与其他数据库和软件的对比
    • 2、Redis的安装部署
      • 方法一:在线yum进行安装
      • 方法二:通过源码安装Redis

1、Redis简介

1)、Redis是什么?

(1)全称:Remote Dictionary Server(远程字典服务器)。是完全开源免费的,用C语言编写 的, 遵守BSD协议。是一个高性能的(key/value)分布式内存数据库,基于内存运行并支持持久化的NoSQL 数据库,是当前最热门的NoSql数据库之一,也被人们称为数据结构服务器。
(2)Redis 与其他 key - value 缓存产品有以下三个特点 、
i)Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用
ii)Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结 构的存储
iii)Redis支持数据的备份,即master-slave模式的数据备份

2)、Redis能干嘛?

(1)内存存储和持久化:redis支持异步将内存中的数据写到硬盘上,同时不影响继续服务 
(2)取最新N个数据的操作,如:可以将最新的10条评论的ID放在Redis的List集合里面 
(3)模拟类似于HttpSession这种需要设定过期时间的功能 
(4)发布、订阅消息系统 
(5)定时器、计数器

3)、可以从哪里去下载Redis?

(1)Http://redis.io/
(2)Http://www.redis.cn/

4)、使用Redis进行的多种操作

(1)数据类型、基本操作和配置 
(2)持久化和复制,RDB/AOF 
(3)事务的控制 
(4)复制

5)、Redis与其他数据库和软件的对比

名称 类型 数据存储选项 查询类型 附加功能
Redis 使用内存 存储(in-memory) 的非关系 数据库 字符串、列表、集 合、散列表、有序集 合 每种数据类型都 有自己的专属命 令,另外还有批 量操作(bulk operation)和不 完全(partial) 的事务支持 发布与订阅,主从 复制(master/slave replication),持 久化,脚本(存储 过程,storedprocedure)
memcached 使用内存 存储的键 值缓存 键值之间的映射 创建命令、读取 命令、更新命 令、删除命令以 及其他几个命令 为提升性能而设的 多线程服务器
MySQL 关系数据 库 每个数据库可以包含 多个表,每个表可以 包含多个行;可以处 理多个表的视图 (view);支持空间 (spatial)和第三方 扩展 SELECT、 INSERT、 UPDATE、 DELETE、函数、 存储过程 支持ACID性质 (需要使用 InnoDB),主从 复制和主主复制 (master/master replication)
PostgreSQL 关系数据 库 每个数据库可以包含 多个表,每个表可以 包含多个行;可以处 理多个表的视图;支 持空间和第三方扩 展;支持可定制类型 SELECT、 INSERT、 UPDATE、 DELETE、内置函 数、自定义的存 储过程 支持ACID性质, 主从复制,由第三 方支持的多主复制 (multi-master replication)
MongoDB 使用硬盘 存储(on-disk)的非 关系文档 存储 每个数据库可以包含 多个表,每个表可以 包含多个无 schema(schema- less)的BSON文档 创建命令、读取 命令、更新命 令、删除命令、 条件查询命令等 支持map-reduce操作,主从复制, 分片,空间索引 (spatial index)

2、Redis的安装部署

方法一:在线yum进行安装

http://rpmfind.net/可以在该网站站搜索需要的Redis包
NoSQL&Redis的介绍和Redis安装部署,通过yum在线安装Redis,通过源码安装Redis;_第1张图片
我选择的是redis-6.2.7-1.el7.remi.x86_64.rpm
1)、在本地中安装Redis

[root@node1 ~]# 
yum localinstall http://rpmfind.net/linux/remi/enterprise/7/remi/x86_64/redis-6.2.7-1.el7.remi.x86_64.rpm

2)、开启Redis并查看端口是否打开

[root@node1 ~]# systemctl enable  --now redis
Created symlink from /etc/systemd/system/multi-user.target.wants/redis.service to /usr/lib/systemd/system/redis.service.
[root@node1 ~]# netstat -lnupt | grep :6
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      1639/redis-server 1 
tcp6       0      0 ::1:6379                :::*                    LISTEN      1639/redis-server 1 
udp        0      0 0.0.0.0:68              0.0.0.0:*                           1468/dhclient       

3)、开启之后以命令redis-cli并可以进行登录

[root@node1 ~]# redis-cli
127.0.0.1:6379> quit
[root@node1 ~]# id redis
uid=998(redis) gid=996(redis) groups=996(redis)

方法二:通过源码安装Redis

1)、wget下载Redis源码包

[root@node2 ~]# wget -c http://download.redis.io/releases/redis-6.2.7.tar.gz

2)、解压到指定目录

[root@node2 ~]# tar xf redis-6.2.7.tar.gz -C  /usr/local/src/

3)、进入Redis目录安装相应包和make

[root@node2 ~]# cd /usr/local/src/redis-6.2.7/
[root@node2 redis-6.2.7]# yum install -y gcc gcc-c++ make -y
[root@node2 redis-6.2.7]# make		#注意make操作一定要进入到Redis目录中进行
[root@node2 redis-6.2.7]# make install

4)、创建目录与用户、用户组和复制配置文件

[root@node2 redis-6.2.7]# mkdir -p /etc/redis
[root@node2 redis-6.2.7]# cd
[root@node2 ~]# cp /usr/local/src/redis-6.2.7/redis.conf /etc/redis/
[root@node2 ~]# id redis
id: redis: no such user
[root@node2 ~]# 
[root@node2 ~]# groupadd -r redis
[root@node2 ~]# grep redis /etc/group
redis:x:996:
[root@node2 ~]# useradd redis -r -u 996 -g 996 -c "Redis Database Server" -d /var/lib/redis -s /sbin/nologin
[root@node2 ~]# id redis
uid=996(redis) gid=996(redis) groups=996(redis)

5)、设定目录用户和用户组

[root@node2 ~]# mkdir -p /var/lib/redis
[root@node2 ~]# ll -d /var/lib/redis/
drwxr-xr-x 2 root root 6 May 15 22:47 /var/lib/redis/
[root@node2 ~]#                                                                                                     
[root@node2 ~]# chown -R redis:redis  /var/lib/redis/
[root@node2 ~]# vim /etc/redis/redis.conf 
[root@node2 ~]# ll -d /var/lib/redis/
drwxr-xr-x 2 redis redis 6 May 15 22:47 /var/lib/redis/
[root@node2 ~]# chmod 750 /var/lib/redis/
[root@node2 ~]# ll -d /var/lib/redis/
drwxr-x--- 2 redis redis 6 May 15 22:47 /var/lib/redis/

6)、在该配置文件下配置服务脚本

[root@node2 ~]# vim /usr/lib/systemd/system/redis.service
[Unit]
Description=Redis persistent key-value database
After=network.target
After=network-online.target
Wants=network-online.target

[Service]
ExecStart=/usr/local/bin/redis-server /etc/redis/redis.conf --daemonize no --supervised systemd
ExecStop=/usr/bin/kill -9 `pidof redis-server`
User=redis
Group=redis
RuntimeDirectory=redis
RuntimeDirectoryMode=0755

[Install]
WantedBy=multi-user.target

7)、运行服务脚本开启服务通过命令redis-cli 登录即可

[root@node2 ~]# systemctl daemon-reload 
[root@node2 ~]# systemctl restart redis
[root@node2 ~]# systemctl status redis.service 
● redis.service - Redis persistent key-value database
   Loaded: loaded (/usr/lib/systemd/system/redis.service; disabled; vendor preset: disabled)
   Active: active (running) since Sun 2022-05-15 23:03:46 CST; 6s ago
 Main PID: 6410 (redis-server)
   CGroup: /system.slice/redis.service
           └─6410 /usr/local/bin/redis-server 127.0.0.1:6379

May 15 23:03:46 node2 redis-server[6410]: 6410:M 15 May 2022 23:03:46.571 * Running mo...9.
May 15 23:03:46 node2 redis-server[6410]: 6410:M 15 May 2022 23:03:46.571 # WARNING: T...8.
May 15 23:03:46 node2 redis-server[6410]: 6410:M 15 May 2022 23:03:46.571 # Server ini...ed
May 15 23:03:46 node2 redis-server[6410]: 6410:M 15 May 2022 23:03:46.571 # WARNING ov...t.
May 15 23:03:46 node2 redis-server[6410]: 6410:M 15 May 2022 23:03:46.571 * Loading RD....7
May 15 23:03:46 node2 redis-server[6410]: 6410:M 15 May 2022 23:03:46.571 * RDB age 0 ...ds
May 15 23:03:46 node2 redis-server[6410]: 6410:M 15 May 2022 23:03:46.571 * RDB memory...Mb
May 15 23:03:46 node2 redis-server[6410]: 6410:M 15 May 2022 23:03:46.571 # Done loadi...0.
May 15 23:03:46 node2 redis-server[6410]: 6410:M 15 May 2022 23:03:46.571 * DB loaded ...ds
May 15 23:03:46 node2 redis-server[6410]: 6410:M 15 May 2022 23:03:46.571 * Ready to a...ns
Hint: Some lines were ellipsized, use -l to show in full.
[root@node2 ~]# redis-cli 
127.0.0.1:6379> quit

你可能感兴趣的:(NoSQL,redis,nosql,memcached,数据库)