什么是 Redis

Redis 是一个使用ANSI C 编写的开源、支持网络协议、基于内存、可选持久性的键值对数据库,它是一个NOSQLnot only sql)数据库,也就是常说的非关系型数据库。从 2005 年开始,Redis 的开发由 Redis Labs 赞助,之前一直被 Pivotal 和 VMware 先后赞助。根据月度排行网站 DB-Engines.com 的数据显示,Redis 是最流行的键值对数据库。

Redis 应用场景

主要用于数据量大,并发量高的情况下

  • 数据缓存(页面具体数据),页面缓存(商品内容,新闻内容)
  • 分布式集群中架构中的Session分离
  • 应用排行榜,在线好友列表等
  • 任务队列,例如抢购秒杀等

Redis 的安装

Redis 是不支持 windows 版本的,因为其在 windows 下的效率非常低,但是Microsoft 开放技术小组开发和维护了一个针对 windows 版的 Redis,但是从项目记录来看已经有两年没更新了。

官网可以看到,目前最新稳定版为 Redis 4.0.11。此次安装环境选择 centOS ,方式为源码编译安装,所以我们需要有gcc环境,先执行下面的命令安装 gcc

yum install gcc-c++ -y

然后将最新稳定版的源码包下载下来

wget http://download.redis.io/releases/redis-4.0.11.tar.gz

解压到/usr/local/目录下

tar -zxvf redis-4.0.11.tar.gz -C /usr/local

进入Redis 目录进行编译

cd /usr/local/redis-4.0.11
make

编译完成后,安装到指定目录,例如:/usr/local/redis-6379(也可以直接命令6379,因为可以在同一台机器上运行多个 redis 服务,所以一般以运行端口命名)

cd /usr/local/redis-4.0.11
make PREFIX=/usr/local/redis-6379 install

安装完成之后,我们还需要拷贝一份 redis 的配置文件——redis.conf 到安装路径下面,redis.conf 在 redis 的源码目录下

cd /usr/local/redis-4.0.11
cp redis.conf /usr/local/redis-6379/bin/

文件名 说明
redis-server redis 服务器
redis-cli redis 命令行客户端
redis-benchmark redis 性能测试工具
redis-check-aof aof 文件修复工具
redis-check-dump rub 文件检查工具

Redis 的启动

前端模式启动

如果在bin目录下直接运行 ./redis-server将以前端模式启动,启动成功界面如下所示

这种方式启动后,我们不能关闭该窗口,关闭该窗口后 redis 服务将会停止。如果想要使用 redis 需要再开一个窗口。进入到bin目录,运行./redis-cli命令,开启一个 redis 客户端连上 redis 服务。

后端模式启动

我们进入bin目录,先给之前拷贝过来的redis.conf配置文件赋予权限

cd /usr/local/redis-6379/bin/
chmod 777 redis.conf

然后打开 redis.conf配置文件,修改启动参数daemonizeyes,以后端方式启动。如果找不到daemonize,可以使用 vim打开文件后,使用:/daemonize来查找,找到后修改noyes,然后wq保存退出。此时,我们就可以使用如下命令以后端方式启动 redis

./redis-server redis.conf

启动后可以使用ps -aux|grep redis命令来查看是否启动成功

如上图所示,默认启动端口为 6379

Redis 的停止

如果我们强行停止 Redis 的进程可能会导致 Redis 持久化的数据丢失,所以正确停止 Redis 的方式应该是使用 ./redis-cli shutdown命令。

Redis 客户端的连接和使用

bin目录下的redis-cli就是 redis 的客户端,执行./redis-cli命令将会连接到 redis 服务器。连接成功后,我们可以使用set key1 111来保存一个值为111名为key1的键值对。使用get key1命令读取key1的数据

使用Redis 可视化工具

如果想要在Windows、Mac 或Linux 图像界面下可视化操作 Redis ,可以使用 Redis Desktop Manager,但是现在对于Windows 和 Mac 不提供下了,不过在网上还能搜到下载的链接。

另外还有几款开源的可视化工具也不错,例如:Redis ClientRedis Studio,但是都已经停止更新维护了。

Redis系列(一):Redis的简介与安装的更多相关文章

  1. Redis系列(一)——简介及安装

    摘自:redis中文网(http://www.redis.net.cn/) 参考:http://www.cnblogs.com/hoojo/p/4466024.html,http://keenwon. ...

  2. Redis系列一 Redis安装

    Redis系列一    Redis安装 1.安装所使用的操作系统为Ubuntu16.04 Redis版本为3.2.9 软件一般下载存放目录为/opt,以下命令操作目录均为/opt root@ubunt ...

  3. Redis系列(二):Redis的数据类型及命令操作

    原文链接(转载请注明出处):Redis系列(二):Redis的数据类型及命令操作 Redis 中常用命令 Redis 官方的文档是英文版的,当然网上也有大量的中文翻译版,例如:Redis 命令参考.这 ...

  4. redis系列:redis介绍与安装

    前言 这个redis系列的文章将会记录博主学习redis的过程.基本上现在的互联网公司都会用到redis,所以学习这门技术于你于我都是有帮助的. 博主在写这个系列是用的是目前最新版本4.0.10,虚拟 ...

  5. Redis系列一:reids的单机版安装

    环境:VM+centos6+xshell 1.准备好linux的虚拟机,这里用的是centos6,具体方法百度 2.进入software目录,创建一个redis的目录来存放下载的redis包 cd s ...

  6. 深入剖析Redis系列: Redis集群模式搭建与原理详解

    前言 在 Redis 3.0 之前,使用 哨兵(sentinel)机制来监控各个节点之间的状态.Redis Cluster 是 Redis 的 分布式解决方案,在 3.0 版本正式推出,有效地解决了 ...

  7. Redis系列之----Redis的两种持久化机制(RDB和AOF)

    Redis的两种持久化机制(RDB和AOF) 什么是持久化    Redis的数据是存储在内存中的,内存中的数据随着服务器的重启或者宕机便会不复存在,在生产环境,服务器宕机更是屡见不鲜,所以,我们希望 ...

  8. 【Redis 系列】redis 学习十六,redis 字典(map) 及其核心编码结构

    redis 是使用 C 语言编写的,但是 C 语言是没有字典这个数据结构的,因此 C 语言自己使用结构体来自定义一个字典结构 typedef struct redisDb src\server.h 中 ...

  9. redis系列之redis是什么

    一.简介 REmote DIctionary Server(Redis),redis是一个基于内存的单机key/value系统,类似memcached,但支持value为多种形式,包括:字符串(str ...

随机推荐

  1. Testing - 软件测试知识梳理 - 相关词汇

    测试策略 描述测试工程的总体方法和目标:根据测试需求,描述在什么测试阶,依据什么测试要素和目标,进行什么种类的测试,使用什么样的测试方法和工具. 测试策略的制定主要包含如下内容: 确定测试过程要使用的 ...

  2. 人生苦短之---认识Python

    认识 Python 人生苦短,我用 Python —— Life is short, you need Python 目标 Python 的起源 为什么要用 Python? Python 的特点 Py ...

  3. python(31)——【sys模块】【json模块 & pickle模块】

    一.sys模块 import sys sys.argv #命令行参数List,第一个元素是程序本身路径 sys.exit() #退出程序,正常退出时exit(0) sys.version #获取pyt ...

  4. 从零开始学 Spring Boot

    1.下载 spring-tool-suite https://spring.io/tools3/sts/legacy 2.解压运行 sts-bundle\sts-3.9.7.RELEASE\STS.e ...

  5. OSI七层模型和tcp/ip四层模型对比

    OSI 与TCP/IP 模型对比 OSI 协议层名称 TCP/IP 协议层名称 封装的单元 功能描述 TCP/IP协议 应用层(Application) 应用层(Application) 数据 应用程 ...

  6. linux centos7 root密码重置

    转:http://blog.chinaunix.net/uid-21209618-id-4738916.html 分类: LINUX 三年左右没接触linux技术工作,忘记的有很多.不知该怎么去运用. ...

  7. 5分钟开发一个简单的基于HTML5的移动应用

    首先写一个config.xml 代码如下: <?xml version="1.0" encoding="UTF-8"?> <widget xm ...

  8. SSM框架、Druid连接池实现多数据源配置(已上线使用)

    总体大概流程: 1.配置数据源.账密(账密一致,文章不多阐述) driverClassName = com.mysql.jdbc.Driver   validationQuery = SELECT 1 ...

  9. Sharepoint 2010 工作流状态值

    在Sharepoint2010中,如果要使用工作流状态值进行筛选,必须使用内部值,不能使用文字,要不然是筛选不出来的. 进行中:2 已取消:4 已批准:16 拒绝:17 下边是已取消的工作流状态:

  10. C#基础知识回顾-- 属性与字段

    今天在公交车上,突然想属性和字段到底有什么区别?很多字段属性都存在 get{}和set{} 和普通的变量没什么区别(可读可写) 我就感觉属性就是给字段一个多的选择方式,有的字段是不允许更改的.. 刚写 ...