什么是 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. docker配置仓储库时出错:无法安全地用该源进行更新,所以默认禁用该源

    在Ubuntu上安装docker,配置仓储库时第一次使用了阿里去的镜像,如下 sudo add-apt-repository "deb [arch=amd64] http://mirrors ...

  2. python学习之语法

    看过python的语法,才知道,这中编程语言是最简洁的,比如if a==b这种判断a和b的值是否相等,其他编程语言是需要小括号的,这个就不用. if语句: cars = ['audi', 'bmw', ...

  3. IDA远程调试 在内存中dump Dex文件

    1. 首先使用调试JNI_OnLoad函数的方法,先将apk以调试状态挂起,使用IDA附加上去. 2. 然后在libdvm.so中的dvmDexFileOpenPartial函数上下一个断点 3. 然 ...

  4. OpenGL10-骨骼动画原理篇(1)

    视频教程请关注 http://edu.csdn.net/lecturer/lecturer_detail?lecturer_id=440 本例程展示如何建立骨骼动画,有些人叫蒙皮动画 定义如下: 当前 ...

  5. Linux 学习手记(2):Linux文件系统的基本结构

    Linux 文件系统概况 Linux文件系统为一个倒置的树状结构,所有文件或文件夹均包含在一个根目录“/”中.如图所示(每个目录的作用可以参考:Linux目录结构说明): Linux系统严格区分大小写 ...

  6. SQL优化原则(转)

    一.问题的提出 在应用系统开发初期,由于开发数据库数据比较少,对于查询SQL语句,复杂视图的的编写等体会不出SQL语句各种写法的性能优劣,但是如果将应用系统提交实际应用后,随着数据库中数据的增加,系统 ...

  7. javascript变量提升详解

    js变量提升 对于大多数js开发者来说,变量提升可以说是一个非常常见的问题,但是可能很多人对其不是特别的了解.所以在此,我想来讲一讲. 先从一个简单的例子来入门: a = 2; var a; cons ...

  8. Python循环文件推荐的方式,可用于读取文本最后一行或删除指定行等

    读取文本最后一行: f = open('test11.txt', 'rb') for i in f: offset = -16 while True: f.seek(offset, 2) data = ...

  9. Spark ML机器学习

    Spark提供了常用机器学习算法的实现, 封装于spark.ml和spark.mllib中. spark.mllib是基于RDD的机器学习库, spark.ml是基于DataFrame的机器学习库. ...

  10. C# 获取用户IP地址(转载)

    [ASP.NET开发]获取客户端IP地址 via C# 说明:本文中的内容是我综合博客园上的博文和MSDN讨论区的资料,再通过自己的实际测试而得来,属于自己原创的内容说实话很少,写这一篇是为了记录自己 ...