【已转移】【缓存与性能优化】一篇文章搞掂:Redis
本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新)。
一、什么是Redis
全称:
Remote Dictionary Server 远程字典服务器
实质:
一个缓存结构服务器或数据结构服务器
特性:
- Database:Redis是一个数据库,可以持久化
- Non-relational/NoSQL:非关系型数据库
- Key-Value:键值对格式
Redis与Memcached对比:
- 一样的简单
- 更多数据类型
- 更多操作命令
- 更多功能组件
- 支持数据持久化
总结:
Redis使用其独特的数据结构,提供高效的读写功能,可以作为一个缓存服务器的优秀的选择。
二、Redis的数据结构
数据类型包括:
- Strings
- Lists
- Sets
- Sorted Sets
- Hashes
三、Redis服务器的安装
这里只介绍在Windows下的安装
下载地址:
Redis官网中貌似没有安装版的服务器下载,所以需要到github中下载
https://github.com/MicrosoftArchive/redis/tags

安装:
使用msi文件安装:下载后一直下一步即可。
使用zip文件安装:解压到一个文件夹即可
使用:
如果使用msi来安装:
1、安装过程中可以选择添加环境变量和设置端口号,而且redis服务器作为一个Windows服务启动了,不需要手动启动
2、打开一个cmd窗口,输入以下命令,作用分别是:连接redis服务器、保存一个值、取出一个值
redis-cli.exe -h 127.0.0.1 -p 6379
set myKey abc
get myKey

如果使用zip来安装,则步骤略有不同
1、打开一个cmd窗口 使用cd命令切换目录到 C:\redis 运行以下命令启动redis服务器
redis-server.exe redis.windows.conf
2、在打开另外一个cmd窗口执行上面第二步的步骤即可(要用cd命令到redis的文件夹,除非手动设置了环境变量)
配置允许外网访问:
网上看到了多个方法,可能与版本有关系
方法1(此方法我没有成功):
1、打开Redis文件夹下redis.windows-service.conf文件
2、加#注释掉显示IP

3、设置保护模式为no

方法2(此方法我可行):
1、和方法1中的第1步相同
2、把方法1中的第2步注释的IP不要注释,而是改成0.0.0.0
四、Redis客户端
Redis客户端:
Redis是一个服务器,需要客户端来和服务器交互操作。
Redis在不同于语言下(Java、C#、Ruby、Python等)都有对应的客户端。
Redis在Java语言下的客户端有:Jedis、JRedis、Spring Data Redis等。
其实Jedis还是偏底层,实际应用建议使用Spring Data Redis封装得较好的客户端。
五、Redis可视化工具
为了提升工作效率,可以使用Redis可视化工具,这里介绍Redis Desktop Manager
下载地址:
https://redisdesktop.com/download
安装:
直接下一步即可。
登录:
注意要先设置redis服务器支持外网登录,上面有讲述设置方法。
然后添加链接,输入地址和端口,测试连接并连接即可。

六、
仍需补充的内容
本文暂时着眼于项目实际的使用中,所涉及到的一些知识。而一些更加底层,更加深入的知识,仍然需要时间去了解和学习。
其中包括(但不限于):
redis服务器的命令、Jedis的使用、Spring下的使用
【已转移】【缓存与性能优化】一篇文章搞掂:Redis的更多相关文章
- 15套java互联网架构师、高并发、集群、负载均衡、高可用、数据库设计、缓存、性能优化、大型分布式 项目实战视频教程
* { font-family: "Microsoft YaHei" !important } h1 { color: #FF0 } 15套java架构师.集群.高可用.高可扩 展 ...
- 一篇文章了解Redis数据库
文章原创于公众号:程序猿周先森.本平台不定时更新,喜欢我的文章,欢迎关注我的微信公众号. redis是一个key-value存储系统.它支持存储的value类型相对更多,包括string(字符串).l ...
- 【已转移】【Java架构:基础技术】一篇文章搞掂:Spring
本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 本文是对<SPRING实战第4版>的总结,大家也可以去仔细研读该书 [------------------------ ...
- 【已转移】【Java架构:基础技术】一篇文章搞掂:Java 8
本文篇幅较长,建议合理利用右上角目录进行查看(如果没有目录请刷新). 一.Java的历史与演变 目的:为完全了解Java,需要理解Java的诞生原因.成型动力以及他继承的思想. 计算机语言的创新与发展 ...
- 【已转移】【Java架构:系统架构理论】一篇文章搞掂:RESTful
一.定义 1.起源 来源:Roy Fielding的博士论文. 目的:理解和评估以网络为基础的应用软件的架构设计,得到一个功能强.性能好.适宜通信的架构. 定义:一种实现软件通信的架构风格.设计风格, ...
- 【已转移】【Java架构:基础技术】一篇文章搞掂:SVN
一个例子: 公司的SVN代码中,含有target等文件夹,每次生成运行后,有很多文件打扰签入 处理方案: 1.CheckOut时,点击ChooseItems选项,不要选择这些target文件夹(有点麻 ...
- mysql 查询性能优化第一章 为什么查询速度会慢
一 为什么查询速度会慢 在尝试编写快速的查询之前,咱们需要清除一点,真正重要的是响应时间.如果把查询看成是一个任务,那么它由一系列子任务组成,每个子任务都会消耗一定的时间.如果要有 优化查询,实际上要 ...
- 【缓存与性能优化】方法论:如何优化一个Web系统的性能
1.性能简介 一个网络请求的等待: 减少等待时间方式 不同位置对性能的操控 开发人员优化性能的方式 性能指标 2.缓存 缓存是把一些需要计算或者访问数据库的数据,放到内存中,当客户端访问时,直接从内存 ...
- Linux性能优化 第一章 性能追踪建议
1.1常用建议1.1.1记大量的笔记(记录所有的事情)在做性能调优问题的时候很重要的一个操作就是记录下所有的事情,包括每一个输出.执行的结果.可以新建一个文件夹,然后把结果的文件都塞到该文件夹内.包括 ...
随机推荐
- Sticks
题目链接 题意:给你一组等长木棒,然后他随意砍断成n个木棒,木棒长度不一,但你知道分别是多少,要你求出原始木棒可能的最小长度. 思路:首先那个原始木棒的长度肯定是其总长度的约数,然后也肯定大于等于所有 ...
- [CSP-S模拟测试]:randomwalking(DP)
题目传送门(内部题59) 输入格式 第一行一个数$n$表示点数.第二行$n$个数$A_i$.接下来$n−1$行,每行两个数$u,v$表示$u$和$v$有边直接相连. 输出格式 一个数表示最小花费的起点 ...
- python中socket理论
Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口.在设计模式中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单 ...
- APIO2010 特别行动队 & 斜率优化DP算法笔记
做完此题之后 自己应该算是真正理解了斜率优化DP 根据状态转移方程$f[i]=max(f[j]+ax^2+bx+c),x=sum[i]-sum[j]$ 可以变形为 $f[i]=max((a*sum[j ...
- vijos 1243 生产产品
貌似两年前联赛复习的时候就看过这题 然而当时大概看看了 感觉太难 便没有去做 如今再去做的时候 发现其实也并不容易 ------------------------------------------ ...
- phpstorm中sass编译时目录或内容包含中文字符报错
ruby版本:ruby 2.4.1p111 (2017-03-22 revision 58053) [x64-mingw32] sass版本:Sass 3.4.24 (Selective Steve) ...
- Java集合的介绍
参考博客: https://blog.csdn.net/zhangqunshuai/article/details/80660974 List , Set, Map都是接口,前两个继承至Collect ...
- Dubbo 系列(05-1)服务发布
目录 Dubbo 系列(05-1)服务发布 Spring Cloud Alibaba 系列目录 - Dubbo 篇 1. 背景介绍 1.1 服务暴露整体机制 2. 源码分析 2.1 前置工作 2.2 ...
- 注册服务到服务中心(Consul)
注册服务到服务中心(Consul) 添加POM文件中的依赖 在POM文件添加如下依赖: <dependency> <groupId>org.springframework.bo ...
- spark streaming 笔记
spark streaming项目 学习笔记 为什么要flume+kafka? 生成数据有高峰与低峰,如果直接高峰数据过来flume+spark/storm,实时处理容易处理不过来,扛不住压力.而选用 ...