提到Redis,大家肯定都听过,并且应该都在项目中或多或少的使用过,也许你觉得Redis用起来挺简单的呀,但如果有人问你下面的几个问题(比如同事或者面试官),你能回答的上来吗?

  1. 什么是Redis?
  2. Redis能存储哪几种数据结构?
  3. Redis有几种持久化机制?它们的优缺点分别是什么?
  4. 哪些场景需要使用Redis?
  5. 什么是缓存雪崩,如何避免?
  6. 什么是缓存穿透,如何避免?

如果你都能回答的上来,恭喜你,说明你对Redis有一定的了解,如果回答不上来,也没关系,本系列博客会对Redis进行一系列的讲解,欢迎关注!

所谓工欲善其事,必先利其器,既然要学习Redis,首先我们至少得知道什么是Redis以及如何安装Redis环境,这也是本篇博客的主要内容。

1. Redis简介

什么是Redis呢?

Redis是一个开源(BSD许可)的内存数据结构存储,用作数据库、缓存和消息代理。它支持诸如字符串、散列、列表、集合、有序集合等数据结构。-- Redis官网

Redis是一个开源的使用ANSI C语言编写、支持网络、可基于内存亦可持久化的高性能的key-value数据库。-- 百度百科

Redis是一款依据BSD开源协议发行的高性能key-value存储系统,通常被称为数据结构服务器。-- 其它网友

Redis是一个远程内存数据库,它不仅性能强劲,而且还具有复制特性以及为解决问题而生的独一无二的数据模型。Redis提供了5种不同类型的数据结构,各式各样的问题都可以很自然地映射到这些数据结构上。 -- 《Redis实战》

Redis是一个速度非常快的非关系型数据库,它可以存储键(key)与5种不同类型值(value)之间的映射(mapping),可以将存储在内存的键值对数据持久化到硬盘,可以使用复制特性来扩展读性能,还可以使用客户端分片来扩展写性能。-- 《Redis实战》

2. Redis环境安装(Windows)

说明:Redis官方并没有提供Windows版本的Redis,也不建议在生产环境使用Windows版本的Redis,我目前所在的公司生产环境Redis是部署在Linux服务器的。

虽然Redis官方不支持Windows版本,但是微软Microsoft Open Tech Group提供了1个Windows版本的Redis,下载地址:https://github.com/microsoftarchive/redis/releases

将下载好的文件解压到你喜欢的目录,我这里是E:\Tools\Redis-x64-3.0.504,如下所示:

双击上图中红色标记的redis-server.exe即可启动Redis服务:

也可以打开一个cmd窗口,切换到Redis所在目录,然后执行如下命令启动:

redis-server.exe redis.windows.conf

通过这2种方式打开,需要保证cmd窗口一直保持打开状态,关闭后客户端就无法连接,如果服务器重启了,需要再次打开Redis服务端,为了解决该问题,我们可以把Redis安装成Windows服务:

cd E:\Tools\Redis-x64-3.0.504

redis-server --service-install redis.windows.conf

你可以直接在界面上启动/停止该服务,也可以执行cmd命令来启动/停止/卸载该服务:

卸载服务:

redis-server --service-uninstall

启动服务:

redis-server --service-start

停止服务:

redis-server --service-stop

3. Redis Hello World示例

打开cmd窗口,打开一个客户端来简单使用下Redis:

redis-cli.exe -h 127.0.0.1 -p 6379

设置一个key-value缓存,其中key为hello,value为hello world!:

set hello "hello world!"

获取key为hello的值:

get hello

4. Redis Desktop Manager使用

虽然我们可以通过命令的方式来查看Redis存储的数据,但毕竟不太友好,这里推荐个比较流行的工具:Redis Desktop Manager。

官网地址:https://redisdesktop.com/

官网现在的版本2019.1需要先赞助付费才能使用。

不过我们仍然可以下载之前不付费的版本,下载地址:https://github.com/uglide/RedisDesktopManager/releases/tag/0.8.8

安装过程比较简单,这里不再赘述,安装完成后,连接本机Redis服务端:

连接成功后,可以看到之前设置的值:

后续文章会讲解Linux环境安装Redis的方式,Redis的5种数据结构,持久化机制等,敬请期待……

5. 参考

Redis的安装和部署(windows )

Windows下使用Redis(一)安装使用

Redis实战(一)Redis简介及环境安装(Windows)的更多相关文章

  1. Redis系列(一):Redis简介及环境安装

    提到Redis,大家肯定都听过,并且应该都在项目中或多或少的使用过,也许你觉得Redis用起来挺简单的呀,但如果有人问你下面的几个问题(比如同事或者面试官),你能回答的上来吗? 什么是Redis? R ...

  2. Redis实战之Redis + Jedis

    用Memcached,对于缓存对象大小有要求,单个对象不得大于1MB,且不支持复杂的数据类型,譬如SET 等.基于这些限制,有必要考虑Redis! 相关链接: Redis实战 Redis实战之Redi ...

  3. Redis实战之Redis + Jedis[转]

    http://blog.csdn.net/it_man/article/details/9730605 2013-08-03 11:01 1786人阅读 评论(0) 收藏 举报   目录(?)[-] ...

  4. Memcached简介及环境安装

    Memcached简介及环境安装 author:SimpleWu 简介 Memcached是一个自由开源的,高性能,分布式内存对象缓存系统. Memcached是以LiveJournal旗下Danga ...

  5. scala语言简介及其环境安装

    scala语言简介及其环境安装 简介: 1.运行在JVM 上,兼容java语言 Scala的代码,都需要经过编译为字节码,然后交由Java虚拟机来运行.所以Scala和Java是可以无缝互操作的.Sc ...

  6. Bootstrap:教程、简介、环境安装

    ylbtech-Bootstrap:教程.简介.环境安装 1. Bootstrap 教程返回顶部 1. Bootstrap 教程 Bootstrap,来自 Twitter,是目前最受欢迎的前端框架.B ...

  7. python学习笔记1之-python简介及其环境安装

    python学习笔记之-python简介及其环境安装 最近几年python之火不用多说,最近开始利用时间自学python,在学习的过程中,按照自己的思路和理解记录下学习的过程,并分享出来,如果正好你也 ...

  8. Redis 实战 —— 05. Redis 其他命令简介

    发布与订阅 P52 Redis 实现了发布与订阅(publish/subscribe)模式,又称 pub/sub 模式(与设计模式中的观察者模式类似).订阅者负责订阅频道,发送者负责向频道发送二进制字 ...

  9. 分布式缓存技术redis学习系列(五)——redis实战(redis与spring整合,分布式锁实现)

    本文是redis学习系列的第五篇,点击下面链接可回看系列文章 <redis简介以及linux上的安装> <详细讲解redis数据结构(内存模型)以及常用命令> <redi ...

随机推荐

  1. Ubuntu系统下arm-linux-gcc交叉编译环境搭建过程

    搭建所需环境Linux版本:Ubuntu 14.10 交叉编译器版本:arm-linux-gcc-4.4.3资源链接 何为交叉编译环境搭建交叉编译环境,即安装.配置交叉编译工具链.在Ubuntu环境下 ...

  2. Docker+DokcerFile 简单命令和简单镜像配置----Tomcat+jdk+centos7

    宿主机描述:docker info (自身的描述)docker --helpdocker images(查看所有镜像)docker images -adocker images -q(显示镜像ID)d ...

  3. wpf键盘

    一.键盘类和键盘事件 WPF提供了基础的键盘类(System.Input.Keyboard类),该类提供与键盘相关的事件.方法和属性,这些事件.方法和属性提供有关键盘状态的信息.Keyboard的事件 ...

  4. Python实现的手机信息骚扰技术,切勿用作违法!

    今天我来讲讲我最近找到的一个小思路,利用python进行短信轰炸 首先 这是一个网站,他的业务存在短信发送 这个时候,我们打开神器burp或者其他抓包工具(最好用burp,因为repeater模块可以 ...

  5. 软帝学院:一万字的Java基础知识总结大全(实用)

    Java基础总结大全(实用) 一.基础知识: 1.JVM.JRE和JDK的区别: JVM(Java Virtual Machine):java虚拟机,用于保证java的跨平台的特性. java语言是跨 ...

  6. 最后的记忆——Spring ApplicationContext

    本文尝试分析一下Spring 的 ApplicationContext体系的 接口设计,尝试理解为什么这么做,为什么接口这么设计.为什么这么去实现,为什么需要有这个方法,为什么 这样命名?接口.类.方 ...

  7. 利用Fiddler对Jmeter的请求进行抓包

    前言 有时候,为了得到更详细的请求结果,我们可能需要使用Fiddler结合Jmeter来抓包分析,从而更好的辅助测试. 遇到的问题 这里以一个获取学生信息的接口为例进行说明. 当我在Jmeter里按接 ...

  8. 精通awk系列(12):awk getline用法详解

    回到: Linux系列文章 Shell系列文章 Awk系列文章 getline用法详解 除了可以从标准输入或非选项型参数所指定的文件中读取数据,还可以使用getline从其它各种渠道获取需要处理的数据 ...

  9. C# -- 模拟扑克牌发牌

    C# -- 模拟扑克牌发牌 1.  User 类: 玩家 public class User { private List<PaperCard> listCard = new List&l ...

  10. springcloud~配置中心~对敏感信息加密

    简介 RSA非对称加密有着非常强大的安全性,HTTPS的SSL加密就是使用这种方法进行HTTPS请求加密传输的.因为RSA算法会涉及Private Key和Public Key分别用来加密和解密,所以 ...