提到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. 常用数据结构之ArrayList

    前言 ArrayList想必是广大Java程序员开发时最常用的数据结构了,但不一定对其原理都有了解,今天我将结合ArrayList的源码对其进行讲解.本文将围绕ArrayList主要特性(包括适用场景 ...

  2. Python学习之while

    count = 0while count <= 5: print('人生苦短,我用Python!', 'count = ', count) count += 1

  3. Visual Studio 2019使用码云设置过滤忽略的文件或文件夹(ignore file)

    Visual Studio 2019使用码云的时候,会遇到 “Git failed with a fatal error.error: open(".vs/{{项目名称}}/Server/s ...

  4. RMAN 下NOARCHIVELOG和ARCHIVE模式的恢复

    恢复处于NOARCHIVELOG模式的数据库 当数据库处于NOARCHIVELOG模式时,如果出现介质故障 ,则最后一次备份之后对数据库所做的任何操作都将丢失.通过RMAN执行恢复时,只需要执行res ...

  5. mysql多字段内容并到单字段中的操作

    ; SELECT 序号, ryxm `人员姓名`, cylb `成员类别`, gzdw `工作单位`, zc `职称`, GROUP_CONCAT(zzqmc) AS `著作权名称`--多字段合并到一 ...

  6. promise和axios

    1.接口调用方式 原生ajax 基于jQuery的ajax fetch axios 异步 JavaScript的执行环境是「单线程」 所谓单线程,是指JS引擎中负责解释和执行JavaScript代码的 ...

  7. react中报错Failed to set an indexed property on 'CSSStyleDeclaration': Index property setter is not supported

    产生这个报错的原因是我当时将样式写到了less文件,我在div中使用的使用应该是使用className = ,而我误写了一个style = .style里面当然没有自定义的className,所以产生 ...

  8. 【CF528D】Fuzzy Search

    Problem Description 你有一个长度为 \(n\) 的串 \(S\),以及长度为 \(m\) 的串 \(T\). 现给定一个数 \(k\) ,我们说 \(T\) 在 \(S\) 的位置 ...

  9. asp.net 页面中添加普通视频的几种方式

    第一种 是通过调用window media player进行播放诸如:wmv,asf等格式文件: <object align=center class="OBJECT" cl ...

  10. css里的背景属性有哪些,如何去使用哪些属性

    分类:纯色背景    背景图像 1.背景颜色 background-color : 任意合法的颜色 和 transparent 2.背景图像 background-image : url(想要加载的图 ...