什么是 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

  1. yum install gcc-c++ -y

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

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

解压到/usr/local/目录下

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

进入Redis 目录进行编译

  1. cd /usr/local/redis-4.0.11
  2. make

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

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

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

  1. cd /usr/local/redis-4.0.11
  2. 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配置文件赋予权限

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

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

  1. ./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. Shell - 简明Shell入门14 - 操作符(Operator)

    示例脚本及注释 #!/bin/bash echo "No code, just some comments." # ### 通配符 # * 代表任意(0个或多个)字符 # ? 代表 ...

  2. C# 获取媒体文件播放时长

    引用: Interop.Shell32.dll 方法: /// <summary> /// 获取媒体文件播放时长 /// </summary> /// <param na ...

  3. 【sping揭秘】21、Spring动态数据源的切换

    对于多个数据源的时候,我们如何切换不同的数据源进行数据库的操作呢? 当然我们可以直接定义2个DataSource,然后在每次获取connection的时候,从不同的DataSource中获取conne ...

  4. Ubuntu18.04 下修改 root密码

    首先打开终端输入命令 sudo passwd root 然后依次是当前用户密码,将要设置root密码,确认root密码.切换root看一下 备注: #符号 是系统用户 root$符号 是你创建的用户 ...

  5. tf.cast()的用法(转)

    一.函数 tf.cast() cast( x, dtype, name=None ) 将x的数据格式转化成dtype.例如,原来x的数据格式是bool, 那么将其转化成float以后,就能够将其转化成 ...

  6. 21天打造分布式爬虫-Selenium爬取拉钩职位信息(六)

    6.1.爬取第一页的职位信息 第一页职位信息 from selenium import webdriver from lxml import etree import re import time c ...

  7. (转)Python中操作mysql的pymysql模块详解

    原文:https://www.cnblogs.com/wt11/p/6141225.html https://shockerli.net/post/python3-pymysql/----Python ...

  8. redis3.0集群部署和测试

    redis3.0集群部署和测试 环境介绍 两台Centos7的虚拟机模拟6个节点,A台3个master节点,B台3个slave节点A地址:172.16.81.140B地址:172.16.81.141r ...

  9. Linux编程 3 (初识bash shell与man查看手册)

    一.初识bash shell 1.1 启动 shell   GNU bash shell 能提供对Linux系统的交互式访问.通常是在用户登录终端时启动,登录时系统启动shell依赖于用户账户的配置. ...

  10. 利用反射实现DataTable 与 List<T> 转换

    今天上班不太忙,就想着总结一下反射.扩展方法.以及lambda表达式的用法,自己就写了个小DEMO记录一下,希望各位大牛们看到后觉得不对的地方请及时提出.这篇文章中我只说明我的用法,作为一个备忘,基本 ...