Redis的安装及使用

Redis入门指南:安装与使用
本文介绍了NoSQL数据库的基本概念和Redis的特点,包括Redis作为内存数据库和数据结构服务器的优势,如高性能、丰富的数据类型和持久化机制。详细阐述了Redis的安装过程,包括两种安装方式,并提及Redis在TopN需求、排行榜、计数器应用等场景中的应用。

前言-NoSQL 的简单介绍

NoSQL:一类新出现的数据库(Not Only SQL | No SQL),它的特点:
1、不支持 SQL 语法
2、存储结构跟传统关系型数据库中的那种关系表完全不同,NoSQL 中存储的数据都是 KV
形式
3、NoSQL 的世界中没有一种通用的语言,每种 NoSQL 数据库都有自己的 API 和语法,以及
擅长的业务场景
4、NoSQL 中的产品种类相当多:
A、Mongodb,文档型 NoSQL 数据库,擅长做 CMS 系统(内容管理系统)
B、Redis,内存数据库,数据结构服务器,号称瑞士军刀(精巧),只要你有足够的想
象力,它可以还给你无限惊喜
C、HBase,hadoop 生态系统中原生的一种 NoSQL 数据库,重量级的分布式 NoSQL 数据
库,用于海量数据的场景
D、Cassandra,hadoop 生态系统中原生的一种分布式 NoSQL 数据库,后起之秀
NoSQL 和 SQL 数据库的比较:
1、适用场景不同:SQL 数据库适合用于关系特别复杂的数据查询场景,NoSQL 反之
2、“事务”特性的支持:SQL 对事务的支持非常完善,而 NoSQL 基本不支持事务
3、两者在不断地取长补短,呈现融合趋势

1. Redis 概念

REmote DIctionary Server(Redis)是一个由 Salvatore Sanfilippo 写的开源的、高性能的、使用
ANSI C 语言编写、遵守 BSD 协议、支持网络、可基于内存亦可持久化的日志型、key-value
存储系统,并提供多种语言的 API。和 memcached 类似,Redis 常被称作是一款 key-value 内
存存储系统或者内存数据库,同时由于它支持丰富的数据结构,又被称为一种数据结构服务
器(Data Structure Server)。因为值(value)可以是字符串(String),哈希(Map),列表(list),
集合(sets)和有序集合(sorted sets)等类型。
Redis 与其他 key-value 缓存产品有以下三个特点:
1、Redis 支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载
进行使用。
2、Redis 不仅仅支持简单的 key-value 类型的数据,同时还提供 list,set,zset,hash 等数据
结构的存储。
3、Redis 支持数据的备份,即 master-slave 模式的数据备份。

2. Redis 优势

1、性能极高:Redis 能读的速度是 110000 次/s,写的速度是 81000 次/s 。
2、丰富的数据类型:Redis 支持二进制案例的 String, List, Hash, Set 及 Sorted Set 数据类型操
作。
3、原子操作:Redis 的所有操作都是原子性的,同时 Redis 还支持对几个操作全并后的原子
性执行。
4、丰富的特性:Redis 还支持 Publish/Subscribe,通知 key 过期,支持高可用集群等等特性。
5、数据持久化机制
持久化机制有两种:
1、RDB 方式:定期将内存数据 dump 到磁盘
2、AOF(append only file)持久化机制:用记日志的方式记录每一条数据更新操作,一旦
出现灾难事件,可以通过日志重放来恢复整个数据库

3.Redis 适用场景

1、TopN 需求:取最新的 n 个数据,如读取作家博客最新的 50 篇文章,通过 List 实现按时
间排序的数据的高效获取
2、排行榜应用:以特定条件为排序标准,将其设成 sorted set 的 score,进而实现高效获取
3、需要精准设定过期时间的应用:把 sorted set 的 score 值设置成过期时间的时间戳,那么
就可以简单地通过过期时间排序,定时清除过期数据了
4、计数器应用:Redis 的命令都是原子性的,可以轻松地利用 INCR,DECR 命令来构建计数
器系统。
5、去除大量数据中的重复数据:将数据放入 set 中,就能实现对重复数据的排除
6、构建队列系统:使用 list 可以构建队列系统,使用 sorted set 甚至可以构建有优先级的队
列系统。
7、实时系统,反垃圾系统:通过上面说到的 set 功能,你可以知道一个终端用户是否进行
了某个操作,可以找到其操作的集合并进行分析统计对比等。
8、Publish/SubScribe 构建实时消息系统
9、缓存(会话,商品列表,评论列表,经常查询的数据等)

Redis-3.2.6 安装

1、找官网(https://redis.io/)下载对应版本的 Redis(redis-3.2.6.tar.gz)安装包
2、解压到对应的安装目录

[hadoop@hadoop02 ~]$ tar -zxvf redis-3.2.6.tar.gz -C /home/hadoop/apps/

3、进入到 Redis 根目录下去,执行测试命令

[hadoop@hadoop02 ~]$ cd apps/redis-3.2.6/
[hadoop@hadoop02 redis-3.2.6]$ make test

(1)若出现如下提示,则说明未安装gcc,使用命令安装gcc:yum install gcc

[root@localhost redis-2.8.17]# make
cd src && make all
make[1]: Entering directory `/root/redis-2.8.17/src‘
    CC adlist.o
/bin/sh: cc: command not found
make[1]: *** [adlist.o] Error 127
make[1]: Leaving directory `/root/redis-2.8.17/src‘
make: *** [all] Error 2

(2)若出现如下提示,则将make改为make MALLOC=libc,推测是因为编译库的问题。

[root@localhost redis-2.8.17]# make
cd src && make all
make[1]: Entering directory `/root/redis-2.8.17/src‘
    CC adlist.o
In file included from adlist.c:34:
zmalloc.h:50:31: error: jemalloc/jemalloc.h: No such file or directory
zmalloc.h:55:2: error: #error "Newer version of jemalloc required"
make[1]: *** [adlist.o] Error 1
make[1]: Leaving directory `/root/redis-2.8.17/src‘
make: *** [all] Error 2

(3)如果出现以下提示,则需要安装tcl,运行命令:yum install tcl

You need tcl 8.5 or newer in order to run the Redis test 
Makefile:225: recipe for target ‘test’ failed 
make: * [test] Error 1

如果测试全部通过,也就是出现如下结果信息,证明上一步 make 操作准确无误
这里写图片描述

4.执行命令安装,PREFIX 表示安装到指定的目录

[hadoop@hadoop02 redis-3.2.6]$ make PREFIX=/home/hadoop/apps/redis install

出现如下信息,表示安装成功
这里写图片描述
5.在 redis 的根目录下有一个配置文件 redis.conf,把它拷贝到你安装的 redis 目录,也就是前面指定的哪个 PREFIX 文件夹:

[hadoop@hadoop02 redis-3.2.6]$ cp redis.conf ~/apps/redis

6.配置环境变量

export REDIS_HOME=/home/hadoop/apps/redis/
export PATH=$PATH:$REDIS_HOME/bin

7.启动 Redis 服务
配置环境变量和拷贝了 redis.conf 的配置文件,那么请执行:

[hadoop@hadoop02 ~]$ redis-server

如果没有配置环境变量也没有拷贝 redis.conf 配置文件的,请执行:

[hadoop@hadoop02 bin]$ ~/apps/redis/bin/redis-server ~/apps/redis/redis.conf

启动成功了,出现如下画面
注意,最好启动到后台运行,那么执行命令:

[hadoop@hadoop02 ~]$ nohup ~/apps/redis/bin/redis-server ~/apps/redis/redis.conf
1>~/apps/redis/redis_std.log 2>~/apps/redis/redis_error.log &

这里写图片描述

8.启动客户端,执行命令:

[hadoop@hadoop02 ~]$ redis-cli

如果是从其他节点上链接 redis,那么可以这么做:

[hadoop@hadoop02 ~]$ redis-cli -h hadoopxx -p 6379

9.进入客户端了以后,执行命令检测 redis 是否正常工作
127.0.0.1:6379> ping
出现 PONG 证明 redis 已经正常工作了,安装成功
这里写图片描述
10.使用 Redis 的 Java API 客户端–Jedis
这里写图片描述

第二种安装方式:

一、安装
(1)tar -zxvf redis-3.0.7.tar.gz
(2)cd redis-3.0.7
make
(3)cd src
make install
生成redis-server和redis-cli
(4)然后创建两个文件夹etc和bin
mkdir -p /home/hadoop/redis/etc
mkdir -p /home/hadoop/redis/bin
(5)移动redis-3.0.7下的redis.conf到etc下
cp /home/hadoop/redis-3.0.7/redis.conf /home/hadoop/redis/etc/
(6)把 redis-3.0.7/src 里的 mkreleasehdr.sh、redis-benchmark、redis-check-aof、
redis-check-dump、redis-cli、redis-server 文件移动到 bin 下
mv /home/hadoop/redis-3.0.7/src/mkreleasehdr.sh /home/hadoop/redis-3.0.7/src/redis-benchmark /home/hadoop/redis-3.0.7/src/redis-check-aof /home/hadoop/redis-3.0.7/src/redis-check-dump /home/hadoop/redis-3.0.7/src/redis-cli /home/hadoop/redis-3.0.7/src/redis-server /home/hadoop/redis/bin/
(7)修改配置文件:
进入到redis/etc:
vi redis.conf
daemonize 改为 yes
(8)启动:
进入到redis:
bin/redis-server etc/redis.conf
(9)验证是否成功:
ps -ef | grep redis

(10)进入redis客户端:
bin/redis-cli
至此redis安装成功

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值