Redis安装及使用详解篇
一、什么是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安装及使用详解篇的更多相关文章
- Redis安装及使用详解
推荐在Linux系统上安装,这里我采用CentOS6: Redis采用3.0.0版本,官网下载即可 由于Redis是C语言编写,需要安装gcc(部分Linux自带gcc) yum install gc ...
- (转)windows 下安装配置 Nginx 详解
windows 下安装配置 Nginx 详解 本文转自https://blog.csdn.net/kingscoming/article/details/79042874 nginx功能之一可以启动一 ...
- 深入浅出DOM基础——《DOM探索之基础详解篇》学习笔记
来源于:https://github.com/jawil/blog/issues/9 之前通过深入学习DOM的相关知识,看了慕课网DOM探索之基础详解篇这个视频(在最近看第三遍的时候,准备记录一点东西 ...
- redis.conf 具体配置详解
redis.conf 具体配置详解 # redis 配置文件示例 # 当你需要为某个配置项指定内存大小的时候,必须要带上单位, # 通常的格式就是 1k 5gb 4m 等酱紫: # # 1k => ...
- redis.windows.conf配置详解
redis.windows.conf配置详解 转自:https://www.cnblogs.com/kreo/p/4423362.html # redis 配置文件示例 # 当你需要为某个配置项指定内 ...
- MySQL 8.0.20 安装教程图文详解(windows 64位)
MySQL 8.0.20 安装教程图文详解(windows 64位) 更新时间:2020年05月09日 15:09:04 转载 作者:瘦肉粥不加糖 这篇文章主要介绍了MySQL 8.0. ...
- MySQL8.0.20安装教程图文详解,MySQL8.0.20安装教程winodws10
MySQL8.0.20安装教程图文详解,非常详细 一:mysql官网下载 https://dev.mysql.com/downloads/file/?id=494993 不用注册,直接下载就好 二:解 ...
- libCURL开源库在VS2010环境下编译安装,配置详解
libCURL开源库在VS2010环境下编译安装,配置详解 转自:http://my.oschina.net/u/1420791/blog/198247 http://blog.csdn.net/su ...
- zookeeper的安装(图文详解。。。来点击哦!)
zookeeper的安装(图文详解...来点击哦!) 一.服务器的配置 三台服务器: 192.168.83.133 sunshine 192.168.83.134 sunshineMin 19 ...
- 【转】JSch - Java实现的SFTP(文件下载详解篇)
上一篇讲述了使用JSch实现文件上传的功能,这一篇主要讲述一下JSch实现文件下载的功能.并介绍一些SFTP的辅助方法,如cd,ls等. 同样,JSch的文件下载也支持三种传输模式:OVERWRI ...
随机推荐
- 【3rd Party】Cpp 中使用 Protobuf
前置条件: [Protoc]VS2019 (VS平台) 使用 CMake 编译安装.使用 Protobuf 库 [ToolChains]CLion(VS2019) + CMake + Vcpkg 的使 ...
- UVA 156 Ananagrams STL应用
https://onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&page=show_problem&prob ...
- Python 在VSCode中使用
PyCharm到期了,所以打算换成VS Code(宇宙最好用编辑器?)试一试.但是下载之后不太会配置,网上不少的文章也比较旧了,所以打算自己看着官方教程配置一下.(VSCode版本:1.49.2,Py ...
- [网络克隆]利用tiny proxy实现局域网内批量安装WINDOWS操作系统。
说明:本文支持UEFI及BIOS系统克隆.支持UEFI及BIOS网络引导,适用于新旧几乎所有支持网络启动的电脑. 事前准备: 保证被克隆的电脑为同一配置,或者各硬件差异不大,比如CPU同如英特尔8代的 ...
- 阿里云 FaaS 架构设计
摘要:希望通过本系列课程,让大家更深入了解阿里云FaaS架构设计,以及神龙高密部署的FaaS介绍. 本篇内容将从2个部分为读者介绍关于阿里云 FaaS 架构设计和神龙高密部署的 FaaS,希望可以让大 ...
- mybatis-plus Date类型的参数 只有年月日 没有时分秒的解决办法
问题: 使用mybatis-plus 设计实体的时候 使用 Date inTime; 数据库里的时间2021-11-05 22:00:13 但java里的时间变成了2021-11-05 00: ...
- Oracle数据库同时建立和使用两个监听器
1.问题 我分别对两个数据库实例(Lib和Orcl)各自建立了一个监听器,端口号分别为1520和1521,但是默认只启动一个,导致我切换数据库实例的时候, 出现以下问题:状态: 失败 -测试失败: I ...
- 【FreeRTOS】堆内存管理
动态内存分配及其与FreeRTOS的相关性 为了使FreeRTOS更易用,内核对象(如任务.队列.信号量.事件组)不在编译期静态分配,而是在运行时动态分配,FreeRTOS在内核对象创建时分配RAM, ...
- phpcms - 获取单网页 , 例如关于我们
{pc:get sql="select * from phpcms_page where catid=2" num="1"} {loop ...
- unix domain 与本地本地回环在进程间通信中的差异
前言: 127.0.0.1它是一个私有IP,代表的就是你的本机环回地址,其实本质上是绑定在虚拟网卡loopback上的IP. 在实际应用中,有遇到在使用本地回环做进程间通讯的时候程序阻塞的情况.比如下 ...