一、什么是Redis?

Redis(Remote Dictionary Server ),即远程字典服务。

Redis是是现在最受欢迎的NoSQL数据库之一,是一种支持key-value等多种数据结构的存储系统。是一个开源的使用ANSI C语言编写,可用于缓存,事件发布或订阅,高速队列等场景。支持网络,提供字符串,哈希,列表,队列,集合结构直接存取,基于内存,可持久化。Redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部分场合可以对关系数据库起到很好的补充作用。它提供了Java,C/C++,C#,PHP,JavaScript,Perl,Object-C,Python,Ruby,Erlang等客户端,使用方便。市面上类似于Redis,同样是NoSQL型的数据库有很多,除了Redis,还有MemCache、Cassadra和MongoDB。

二、Redis具备的特点

相比于其他数据库类型,redis所具备的特点是非常明显的,如下:
* C/S通讯模型

  • 单进程单线程模型
  • 丰富的数据类型
  • 操作具有原子性
  • 持久化
  • 高并发读写
  • 支持lua脚本

三、Redis应用场景

众多语言都支持Redis,因为Redis交换数据快,非常的适合存储一些需要频繁调取的数据,从而节省内存开销,以达到提升速度的要求和节约服务器的开销。如:

  • 最常用的会话缓存
  • 支付消息队列
  • 活动排行榜或计数
  • 高频读、低频写````数据
  • 社交网络和实时系统。

三、Redis数据类型

  • String(字符串):Redis最基本的数据类型,一个键对应一个值,一个键值最大存储512MB
  • Hash(哈希):hash是一个键值对的集合,是一个String类型的field和value的映射表,适合用于存储对象。
  • List(列表):是redis的简单的字符串列表,按插入顺序排序的字符串元素集合, 基于双链表实现。
  • Set(集合):是String字符串类型的无序集合,与List类型最大的区别是:集合中的元素没有顺序, 且元素是唯一的。
  • ZSet(sorted set有序集合)是String类型的有序集合,也不可重复。有序集合中的每个元素都需要指定一个分数,根据分数对元素进行升序排序。

四、实际部署使用

我们将以实际来演示Redis部署使用。首先是选择版本号,本文选择的是5.0.10的版本

Redis官方下载:https://github.com/tporadowski/redis/releases

1-下载完成后进行解压,在解压文件夹内打开cmd窗口,

2-在cmd窗口下输入如下命令启动redis服务,结果如下图:

redis-server.exe redis.windows.conf

3-再到刚刚解压的文件夹内打开一个新的cmd窗口,输入如下代码,用于连接redis服务。

redis-cli.exe -h 127.0.0.1 -p 6379

然后我们设置一个新的值

set newkey ‘This is the redis clinet'

再读取这个值,能正常写入、读取,说明部署的resid就没问题了。

get newkey

在登录状态下对redis设置一个密码,至此 redis设置就完成了。

config set requirepass 123456

4-彩蛋:以下内容适用于把redis部署在服务器或模拟器上的操作。本机的只需按如上操作即可。

因为我的redis部署在虚拟机(模拟服务器),redis默认监听是本机的IP,如需局域网连接进去需要在redis.windows.conf文件内把bind 127.0.0.1用#注释掉(如下图),然后重启redis。如果开启防火墙还需要配置出入规则,否则还是无法连接的。

在如上配置完成后,本机也需要解压redis压缩包,然后在解压文件内打开cmd,通过下面命令去连接模拟器上的redis.

注:192.168.226.134是模拟器IP

redis-cli.exe -h 192.168.226.134 -p 6379

5-连上后或者当你尝试通过 get newKey 读取刚刚设置的值时,然后redis就送你一份大礼了,开头如下:

(error) DENIED Redis is running in protected mode because protected mode is……

这其实是redis的保护机制

这时候我们需要到模拟器(服务器)上在刚解压的redis,打开解压文件夹下的redis.windows.conf文件,把protected-mode yes用改为protected-mode no(如下图),然后重启redis。

当你操作以上步骤后,再次尝试去连接redis,并读取、写入数据时就会发现不再报错。

Redis安装及使用详解篇的更多相关文章

  1. Redis安装及使用详解

    推荐在Linux系统上安装,这里我采用CentOS6: Redis采用3.0.0版本,官网下载即可 由于Redis是C语言编写,需要安装gcc(部分Linux自带gcc) yum install gc ...

  2. (转)windows 下安装配置 Nginx 详解

    windows 下安装配置 Nginx 详解 本文转自https://blog.csdn.net/kingscoming/article/details/79042874 nginx功能之一可以启动一 ...

  3. 深入浅出DOM基础——《DOM探索之基础详解篇》学习笔记

    来源于:https://github.com/jawil/blog/issues/9 之前通过深入学习DOM的相关知识,看了慕课网DOM探索之基础详解篇这个视频(在最近看第三遍的时候,准备记录一点东西 ...

  4. redis.conf 具体配置详解

    redis.conf 具体配置详解 # redis 配置文件示例 # 当你需要为某个配置项指定内存大小的时候,必须要带上单位, # 通常的格式就是 1k 5gb 4m 等酱紫: # # 1k => ...

  5. redis.windows.conf配置详解

    redis.windows.conf配置详解 转自:https://www.cnblogs.com/kreo/p/4423362.html # redis 配置文件示例 # 当你需要为某个配置项指定内 ...

  6. MySQL 8.0.20 安装教程图文详解(windows 64位)

    MySQL 8.0.20 安装教程图文详解(windows 64位)  更新时间:2020年05月09日 15:09:04   转载 作者:瘦肉粥不加糖     这篇文章主要介绍了MySQL 8.0. ...

  7. MySQL8.0.20安装教程图文详解,MySQL8.0.20安装教程winodws10

    MySQL8.0.20安装教程图文详解,非常详细 一:mysql官网下载 https://dev.mysql.com/downloads/file/?id=494993 不用注册,直接下载就好 二:解 ...

  8. libCURL开源库在VS2010环境下编译安装,配置详解

    libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...

  9. zookeeper的安装(图文详解。。。来点击哦!)

    zookeeper的安装(图文详解...来点击哦!) 一.服务器的配置 三台服务器: 192.168.83.133   sunshine 192.168.83.134   sunshineMin 19 ...

  10. 【转】JSch - Java实现的SFTP(文件下载详解篇)

    上一篇讲述了使用JSch实现文件上传的功能,这一篇主要讲述一下JSch实现文件下载的功能.并介绍一些SFTP的辅助方法,如cd,ls等.   同样,JSch的文件下载也支持三种传输模式:OVERWRI ...

随机推荐

  1. Qt 的Cmake方式如何创建资源文件和添加类

    CLion(误,QT Creator) 添加资源文件时 选择Qt 然后选择Qt Resource File 单击choose,然后给你的资源文件输入一个名字比如res单击下一步,然后完成,保存 这时候 ...

  2. C++ std::initializer_list 实现原理勘误

    今天正在看侯捷<C++ 新标准 C++11-14>的视频,里面讲到 std::initializer_list 的实现原理,并且把源码贴出来. /// initializer_list t ...

  3. Redis 主从复制架构配置及原理

    本文为博主原创,未经允许不得转载: 目录: 1. Redis 主从复制架构搭建 2. Redis 主从架构原理 3. Redis 断点续传 4. Jedis 连接 redis 主从架构一般配置一主多从 ...

  4. Julia编程基础

    技术背景 Julia目前来说算是一个比较冷门的编程语言,主要是因为它所针对的应用场景实在是比较有限,Julia更注重于科学计算领域的应用.而Julia最大的特点,就是官方所宣传的:拥有C的性能,且可以 ...

  5. Verilog仿真实践

    Verilog必须掌握 逻辑仿真工具(VCS)和逻辑综合工具(DC) AndOR module AndOr( output X,Y, input A,B,C ); // A B进行按位与运算 assi ...

  6. CentOS下PHP7安装mysqlnd模块

    单独安装mysqlnd驱动 如果是centos下的yum安装方式,那么可以参考后续操作. 因为mysqlnd是mysql原生的驱动,如果已经安装了php-mysql,则需要先卸载,否则会遇到冲突. 先 ...

  7. Java - 获取个十百千位数

    int n= 1234: System.out.println(n%10 ); //获取个位 System.out.println((n/10)%10 ); //获取十位 System.out.pri ...

  8. [转帖]深入浅出分析LSM树(日志结构合并树)

    https://zhuanlan.zhihu.com/p/415799237 ​ 目录 收起 零.前言 一.LSM树数据结构定义 二.插入操作 三.删除操作 四.修改操作 五.查询操作 六.合并操作 ...

  9. Chrome显示和更改显示网页字符集的方法

    Chrome显示和更改显示网页字符集的方法 背景 前段时间学习和总结了unicode和utf8的一些知识. 当时想到应该学习和整理一下网站网页的编码格式字符集相关的内容 想着既然给自己立了flag, ...

  10. [转帖]网站开启 IPv6 的三种方式

    https://zhuanlan.zhihu.com/p/443835798 从传统二进制部署的 Nginx ,到云原生部署的 K8S.Istio,分别介绍网站开启 IPv6 的三种方式. 1.Ngi ...