Redis系列(一):Redis的简介与安装
- 原文链接(转载请注明出处):Redis系列(一):Redis的简介与安装

什么是 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配置文件,修改启动参数daemonize为yes,以后端方式启动。如果找不到daemonize,可以使用 vim打开文件后,使用:/daemonize来查找,找到后修改no为yes,然后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 Client、Redis Studio,但是都已经停止更新维护了。
Redis系列(一):Redis的简介与安装的更多相关文章
- Redis系列(一)——简介及安装
摘自:redis中文网(http://www.redis.net.cn/) 参考:http://www.cnblogs.com/hoojo/p/4466024.html,http://keenwon. ...
- Redis系列一 Redis安装
Redis系列一 Redis安装 1.安装所使用的操作系统为Ubuntu16.04 Redis版本为3.2.9 软件一般下载存放目录为/opt,以下命令操作目录均为/opt root@ubunt ...
- Redis系列(二):Redis的数据类型及命令操作
原文链接(转载请注明出处):Redis系列(二):Redis的数据类型及命令操作 Redis 中常用命令 Redis 官方的文档是英文版的,当然网上也有大量的中文翻译版,例如:Redis 命令参考.这 ...
- redis系列:redis介绍与安装
前言 这个redis系列的文章将会记录博主学习redis的过程.基本上现在的互联网公司都会用到redis,所以学习这门技术于你于我都是有帮助的. 博主在写这个系列是用的是目前最新版本4.0.10,虚拟 ...
- Redis系列一:reids的单机版安装
环境:VM+centos6+xshell 1.准备好linux的虚拟机,这里用的是centos6,具体方法百度 2.进入software目录,创建一个redis的目录来存放下载的redis包 cd s ...
- 深入剖析Redis系列: Redis集群模式搭建与原理详解
前言 在 Redis 3.0 之前,使用 哨兵(sentinel)机制来监控各个节点之间的状态.Redis Cluster 是 Redis 的 分布式解决方案,在 3.0 版本正式推出,有效地解决了 ...
- Redis系列之----Redis的两种持久化机制(RDB和AOF)
Redis的两种持久化机制(RDB和AOF) 什么是持久化 Redis的数据是存储在内存中的,内存中的数据随着服务器的重启或者宕机便会不复存在,在生产环境,服务器宕机更是屡见不鲜,所以,我们希望 ...
- 【Redis 系列】redis 学习十六,redis 字典(map) 及其核心编码结构
redis 是使用 C 语言编写的,但是 C 语言是没有字典这个数据结构的,因此 C 语言自己使用结构体来自定义一个字典结构 typedef struct redisDb src\server.h 中 ...
- redis系列之redis是什么
一.简介 REmote DIctionary Server(Redis),redis是一个基于内存的单机key/value系统,类似memcached,但支持value为多种形式,包括:字符串(str ...
随机推荐
- Testing - 软件测试知识梳理 - 相关词汇
测试策略 描述测试工程的总体方法和目标:根据测试需求,描述在什么测试阶,依据什么测试要素和目标,进行什么种类的测试,使用什么样的测试方法和工具. 测试策略的制定主要包含如下内容: 确定测试过程要使用的 ...
- 线程的中断(Lock与synchronized)
Thread包含interrupt()方法,因此你可以终止被阻塞的任务,这个方法将设置线程的中断状态.如果一个线程已经被阻塞,或者试图执行一个阻塞操作.那么设置这个线程的中断状态将 抛出Interru ...
- 使用 redis-dump 批量导入导出数据
有时候需要将 redis 的数据进行导入导出操作,可以使用 redis-dump 这款工具. 一.安装RVM redis-dump 工具依赖于2.2以上版本的 ruby,而 centos 环境下 yu ...
- mysql 开发进阶篇系列 39 mysql日志之二进制日志(binlog)
一.概述 二进制日志(binlog)记录了所有的DDL(数据定义语言)语句和DML(数据操纵语言)语句,但是不包括数据查询语句, 语句以"事件"的形式保存,它描述了数据的更改过程, ...
- jq通过对象获取其ID值,再简单ajax传到后台改值
<tbody> <tr> <#if scopes?exists> <#list scopes as scopes> <td id='${(scop ...
- 读vue-0.6-observer.js源码
实现监听数组方法 var ArrayProxy = Object.create(Array.prototype), methods = ['push','pop','shift','unshift', ...
- vue中关于dom的操作
mounted 个人理解为DOM结构准备就绪了,可以开始加载vue数据了, 挂载点,配合使用 mounted:function(){ this.$nextTick(function(){ //this ...
- [SHOI2009] 会场预约
Description 题意:支持操作: 按顺序在数轴上插入一条线段,删除并询问所有与这条线段有交的线段个数. 询问当前数轴上一共有多少条线段. Solution 想做了很久的题=.= 观察到和线段\ ...
- Ansible系列(四):playbook应用和roles自动化批量安装示例
Ansible系列文章:http://www.cnblogs.com/f-ck-need-u/p/7576137.html playbook是ansible实现批量自动化最重要的手段.在其中可以使用变 ...
- C# 微信公众号开发--准备工作
前言 最初打算熟悉下微信开发打算用node.js开发,结果底气不足先用C#开发,先踩了踩坑. 准备工作 微信公众平台开发者文档. 这个先多看几遍. 测试公众号,申请开通后会看到微信号,appID,ap ...