问题描述

关于Azure Redis的性能问题,在官方文档中,可以查看到不同层级Redis的最大连接数,每秒处理请求的性能。

基本缓存和标准缓存

  • C0 (250 MB) 缓存 - 最多支持 256 个连接
  • C1 (1 GB) 缓存 - 最多支持 1,000 个连接
  • C2 (2.5 GB) 缓存 - 最多支持 2,000 个连接
  • C3 (6 GB) 缓存 - 最多支持 5,000 个连接
  • C4 (13 GB) 缓存 - 最多支持 10,000 个连接
  • C5 (26 GB) 缓存 - 最多支持 15,000 个连接
  • C6 (53 GB) 缓存 - 最多支持 20,000 个连接
高级缓存

  • P1 (6 GB - 60 GB) - 最多支持 7,500 个连接
  • P2 (13 GB - 130 GB) - 最多支持 15,000 个连接
  • P3 (26 GB - 260 GB) - 最多支持 30,000 个连接
  • P4 (53 GB - 530 GB) - 最多支持 40,000 个连接
标准缓存大小     兆位/秒(Mb/秒)/兆字节/秒(MB/秒) 非 SSL 请求数/秒 (RPS) SSL 请求数/秒 (RPS)
C0 250 MB 共享 100/12.5 15,000 7,500
C1 1 GB 1 500/62.5 38,000 20,720
C2 2.5 GB 2 500/62.5 41,000 37,000
C3 6 GB 4 1000/125 100,000 90,000
C4 13 GB 2 500/62.5 60,000 55,000
C5 26 GB 4 1,000 / 125 102,000 93,000
C6 53 GB 8 2,000 / 250 126,000 120,000
定价层 大小 CPU 核心数 可用带宽 1 KB 值大小 1 KB 值大小
高级缓存大小   每个分片的 CPU 核心数 兆位/秒(Mb/秒)/兆字节/秒(MB/秒) 每分片非 SSL 请求数/秒 (RPS) 每分片 SSL 请求数/秒 (RPS)
P1 6 GB 2 1,500 / 187.5 180,000 172,000
P2 13 GB 4 3,000 / 375 350,000 341,000
P3 26 GB 4 3,000 / 375 350,000 341,000
P4 53 GB 8 6,000 / 750 400,000 373,000
P5 120 GB 20 6,000 / 750 400,000 373,000

但以上的数据只是官方发布的数据,如果在排查业务的情况下,如何单独对Redis服务器进行测试呢?如果需要验证Redis的性能,如何来做呢?

答案就是使用redis-benchmark.exe,在Azure Redis的常规问答中,有简单的提到如何来做性能测试,但只是一句话,一个命令一晃而过。

如何进行基准检验和测试缓存的性能?

    • 启用缓存诊断,以便可以监视缓存的运行状况。 可以在 Azure 门户中查看指标,也可以使用所选的工具下载和查看这些指标。
    • 可以使用 redis-benchmark.exe 对 Redis 服务器进行负载测试。
    • 确保负载测试客户端和 Azure Redis 缓存位于同一区域。
    • 使用 redis-cli.exe,并使用 INFO 命令监视缓存。
    • 如果负载导致出现大量内存碎片,则你应该扩展为更大的缓存大小。
    • 有关下载 Redis 工具的说明,请参阅如何运行 Redis 命令?部分。

本章的内容就是从下载Redis-benchmark.exe开始,到使用命令完成测试。

一:下载Redis-benchmark.exe

在Github中找到Redis:https://github.com/microsoftarchive/redis/releases,下载最新的ZIP包并解压( 如:Redis-x64-3.2.100.zip)

二:使用Azure Reids的访问密钥开启测试

从Azure的Redis门户中复制出连接字符串,把redis name和access key填充到如下命令

redis-benchmark.exe -h **yourcache**.redis.cache.chinacloudapi.cn -a **yourAccesskey** -c 10 -n 10

以上命令只是简单的发起一轮默认命令的测试(如ping,set,get,pop,push等),-c表示10个并发,-n表示10个请求。

在本机中运行redis-benchmark命令测试:

同时,我们也可以使用-t来指定用于测试的操作,如set,get。参考命令如下:

redis-benchmark.exe -h **yourcache**.redis.cache.chinacloudapi.cn -a **yourAccesskey** -t SET -n 1000000 -d 1024 -P 50

redis-benchmark.exe -h **yourcache**.redis.cache.chinacloudapi.cn -a **yourAccesskey** -t GET -n 1000000 -d 1024 -P 50

如需要使用SSL对Azure Redis进行6380端口的性能测试,则需要先确保本地安装了stunnel.exe并配置好redis-cli客户端信息

  • 使用redis-cli确认是否已经连接

  • 如能成功访问到6380端口,则可以使用如下命令开始测试

redis-benchmark.exe -a **your access key** -c 10 -n 10 -p 6380

测试的效果对比如下

6379 非SSL测试 6380 SSL测试

C:\redis>redis-benchmark.exe -h yourredisname.redis.cache.chinacloudapi.cn -a **youraccesskey** -c 10 -n 10
====== PING_INLINE ======
10 requests completed in 0.47 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 198 milliseconds
50.00% <= 219 milliseconds
60.00% <= 238 milliseconds
100.00% <= 261 milliseconds
21.46 requests per second

====== PING_BULK ======
10 requests completed in 0.49 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 198 milliseconds
20.00% <= 200 milliseconds
30.00% <= 205 milliseconds
40.00% <= 228 milliseconds
50.00% <= 230 milliseconds
60.00% <= 235 milliseconds
100.00% <= 236 milliseconds
20.62 requests per second

====== SET ======
10 requests completed in 0.46 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 198 milliseconds
20.00% <= 201 milliseconds
30.00% <= 203 milliseconds
40.00% <= 204 milliseconds
50.00% <= 206 milliseconds
80.00% <= 210 milliseconds
90.00% <= 212 milliseconds
100.00% <= 215 milliseconds
21.79 requests per second

====== GET ======
10 requests completed in 0.44 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 205 milliseconds
50.00% <= 218 milliseconds
60.00% <= 222 milliseconds
80.00% <= 223 milliseconds
90.00% <= 224 milliseconds
100.00% <= 228 milliseconds
22.68 requests per second

====== INCR ======
10 requests completed in 0.44 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 197 milliseconds
20.00% <= 203 milliseconds
30.00% <= 205 milliseconds
40.00% <= 216 milliseconds
70.00% <= 218 milliseconds
90.00% <= 227 milliseconds
100.00% <= 233 milliseconds
22.99 requests per second

====== LPUSH ======
10 requests completed in 0.44 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 199 milliseconds
30.00% <= 204 milliseconds
60.00% <= 209 milliseconds
90.00% <= 227 milliseconds
100.00% <= 227 milliseconds
22.68 requests per second

====== RPUSH ======
10 requests completed in 0.43 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 197 milliseconds
40.00% <= 207 milliseconds
50.00% <= 208 milliseconds
60.00% <= 209 milliseconds
90.00% <= 211 milliseconds
100.00% <= 218 milliseconds
23.47 requests per second

====== LPOP ======
10 requests completed in 0.43 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 198 milliseconds
20.00% <= 199 milliseconds
80.00% <= 207 milliseconds
90.00% <= 208 milliseconds
100.00% <= 208 milliseconds
23.42 requests per second

====== RPOP ======
10 requests completed in 0.42 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 200 milliseconds
30.00% <= 201 milliseconds
60.00% <= 202 milliseconds
70.00% <= 207 milliseconds
80.00% <= 209 milliseconds
90.00% <= 211 milliseconds
100.00% <= 211 milliseconds
24.04 requests per second

====== SADD ======
10 requests completed in 0.43 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 196 milliseconds
20.00% <= 197 milliseconds
40.00% <= 199 milliseconds
50.00% <= 200 milliseconds
60.00% <= 203 milliseconds
70.00% <= 204 milliseconds
90.00% <= 210 milliseconds
100.00% <= 218 milliseconds
23.26 requests per second

====== SPOP ======
10 requests completed in 0.41 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 203 milliseconds
20.00% <= 204 milliseconds
50.00% <= 205 milliseconds
60.00% <= 206 milliseconds
90.00% <= 209 milliseconds
100.00% <= 210 milliseconds
24.15 requests per second

====== LPUSH (needed to benchmark LRANGE) ======
10 requests completed in 0.41 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 203 milliseconds
20.00% <= 204 milliseconds
30.00% <= 208 milliseconds
40.00% <= 209 milliseconds
50.00% <= 213 milliseconds
70.00% <= 214 milliseconds
80.00% <= 215 milliseconds
100.00% <= 215 milliseconds
24.15 requests per second

====== LRANGE_100 (first 100 elements) ======
10 requests completed in 0.44 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 198 milliseconds
30.00% <= 199 milliseconds
40.00% <= 200 milliseconds
50.00% <= 201 milliseconds
60.00% <= 210 milliseconds
80.00% <= 211 milliseconds
90.00% <= 212 milliseconds
100.00% <= 212 milliseconds
22.88 requests per second

====== LRANGE_300 (first 300 elements) ======
10 requests completed in 0.45 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 196 milliseconds
20.00% <= 197 milliseconds
40.00% <= 202 milliseconds
50.00% <= 203 milliseconds
60.00% <= 207 milliseconds
80.00% <= 208 milliseconds
90.00% <= 209 milliseconds
100.00% <= 210 milliseconds
22.27 requests per second

====== LRANGE_500 (first 450 elements) ======
10 requests completed in 0.43 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 196 milliseconds
20.00% <= 197 milliseconds
30.00% <= 198 milliseconds
40.00% <= 212 milliseconds
80.00% <= 226 milliseconds
100.00% <= 227 milliseconds
23.15 requests per second

====== LRANGE_600 (first 600 elements) ======
10 requests completed in 0.46 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 199 milliseconds
30.00% <= 223 milliseconds
50.00% <= 225 milliseconds
70.00% <= 229 milliseconds
90.00% <= 232 milliseconds
100.00% <= 242 milliseconds
21.88 requests per second

====== MSET (10 keys) ======
10 requests completed in 0.43 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 202 milliseconds
50.00% <= 217 milliseconds
70.00% <= 219 milliseconds
80.00% <= 228 milliseconds
90.00% <= 233 milliseconds
100.00% <= 234 milliseconds
23.20 requests per second

C:\redis>redis-benchmark.exe -a **youraccesskey** -c 10 -n 10 -p 6380
====== PING_INLINE ======
10 requests completed in 0.88 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 597 milliseconds
20.00% <= 615 milliseconds
30.00% <= 827 milliseconds
40.00% <= 841 milliseconds
50.00% <= 842 milliseconds
80.00% <= 868 milliseconds
90.00% <= 869 milliseconds
100.00% <= 869 milliseconds
11.30 requests per second

====== PING_BULK ======
10 requests completed in 0.96 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 646 milliseconds
20.00% <= 651 milliseconds
30.00% <= 671 milliseconds
40.00% <= 678 milliseconds
50.00% <= 679 milliseconds
60.00% <= 712 milliseconds
70.00% <= 868 milliseconds
80.00% <= 869 milliseconds
90.00% <= 948 milliseconds
100.00% <= 963 milliseconds
10.37 requests per second

====== SET ======
10 requests completed in 0.89 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 628 milliseconds
20.00% <= 629 milliseconds
50.00% <= 632 milliseconds
70.00% <= 633 milliseconds
80.00% <= 851 milliseconds
90.00% <= 865 milliseconds
100.00% <= 887 milliseconds
11.25 requests per second

====== GET ======
10 requests completed in 0.88 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 618 milliseconds
30.00% <= 643 milliseconds
50.00% <= 847 milliseconds
70.00% <= 848 milliseconds
80.00% <= 852 milliseconds
90.00% <= 882 milliseconds
100.00% <= 882 milliseconds
11.33 requests per second

====== INCR ======
10 requests completed in 0.89 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 612 milliseconds
30.00% <= 620 milliseconds
40.00% <= 645 milliseconds
50.00% <= 663 milliseconds
60.00% <= 672 milliseconds
70.00% <= 866 milliseconds
90.00% <= 872 milliseconds
100.00% <= 894 milliseconds
11.17 requests per second

====== LPUSH ======
10 requests completed in 0.93 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 616 milliseconds
20.00% <= 638 milliseconds
30.00% <= 666 milliseconds
40.00% <= 810 milliseconds
50.00% <= 848 milliseconds
60.00% <= 864 milliseconds
70.00% <= 885 milliseconds
90.00% <= 919 milliseconds
100.00% <= 920 milliseconds
10.73 requests per second

====== RPUSH ======
10 requests completed in 0.99 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 587 milliseconds
20.00% <= 611 milliseconds
30.00% <= 623 milliseconds
40.00% <= 627 milliseconds
50.00% <= 676 milliseconds
60.00% <= 806 milliseconds
70.00% <= 807 milliseconds
80.00% <= 827 milliseconds
90.00% <= 913 milliseconds
100.00% <= 971 milliseconds
10.15 requests per second

====== LPOP ======
10 requests completed in 0.88 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 644 milliseconds
30.00% <= 651 milliseconds
60.00% <= 655 milliseconds
70.00% <= 847 milliseconds
90.00% <= 865 milliseconds
100.00% <= 874 milliseconds
11.43 requests per second

====== RPOP ======
10 requests completed in 2.65 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 687 milliseconds
20.00% <= 688 milliseconds
30.00% <= 766 milliseconds
50.00% <= 775 milliseconds
60.00% <= 916 milliseconds
70.00% <= 917 milliseconds
80.00% <= 923 milliseconds
90.00% <= 1576 milliseconds
100.00% <= 2647 milliseconds
3.78 requests per second

====== SADD ======
10 requests completed in 0.98 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 636 milliseconds
20.00% <= 637 milliseconds
40.00% <= 653 milliseconds
50.00% <= 708 milliseconds
70.00% <= 897 milliseconds
80.00% <= 945 milliseconds
90.00% <= 946 milliseconds
100.00% <= 946 milliseconds
10.26 requests per second

====== SPOP ======
10 requests completed in 0.95 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 607 milliseconds
20.00% <= 634 milliseconds
30.00% <= 661 milliseconds
40.00% <= 669 milliseconds
50.00% <= 671 milliseconds
60.00% <= 681 milliseconds
70.00% <= 843 milliseconds
80.00% <= 927 milliseconds
100.00% <= 946 milliseconds
10.55 requests per second

====== LPUSH (needed to benchmark LRANGE) ======
10 requests completed in 0.90 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 614 milliseconds
20.00% <= 630 milliseconds
30.00% <= 641 milliseconds
40.00% <= 642 milliseconds
60.00% <= 646 milliseconds
70.00% <= 857 milliseconds
80.00% <= 893 milliseconds
90.00% <= 896 milliseconds
100.00% <= 896 milliseconds
11.05 requests per second

====== LRANGE_100 (first 100 elements) ======
10 requests completed in 0.92 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 573 milliseconds
20.00% <= 605 milliseconds
30.00% <= 606 milliseconds
40.00% <= 624 milliseconds
50.00% <= 634 milliseconds
60.00% <= 671 milliseconds
70.00% <= 800 milliseconds
80.00% <= 804 milliseconds
90.00% <= 805 milliseconds
100.00% <= 897 milliseconds
10.89 requests per second

====== LRANGE_300 (first 300 elements) ======
10 requests completed in 1.00 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 630 milliseconds
20.00% <= 671 milliseconds
40.00% <= 888 milliseconds
70.00% <= 954 milliseconds
80.00% <= 984 milliseconds
90.00% <= 995 milliseconds
100.00% <= 995 milliseconds
10.03 requests per second

====== LRANGE_500 (first 450 elements) ======
10 requests completed in 0.85 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 572 milliseconds
20.00% <= 573 milliseconds
30.00% <= 579 milliseconds
40.00% <= 594 milliseconds
60.00% <= 604 milliseconds
70.00% <= 780 milliseconds
80.00% <= 802 milliseconds
100.00% <= 819 milliseconds
11.72 requests per second

====== LRANGE_600 (first 600 elements) ======
10 requests completed in 0.91 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 566 milliseconds
30.00% <= 629 milliseconds
40.00% <= 634 milliseconds
50.00% <= 812 milliseconds
60.00% <= 836 milliseconds
70.00% <= 851 milliseconds
80.00% <= 867 milliseconds
90.00% <= 873 milliseconds
100.00% <= 880 milliseconds
10.96 requests per second

====== MSET (10 keys) ======
10 requests completed in 0.89 seconds
10 parallel clients
3 bytes payload
keep alive: 1

10.00% <= 606 milliseconds
20.00% <= 619 milliseconds
30.00% <= 625 milliseconds
40.00% <= 667 milliseconds
60.00% <= 851 milliseconds
70.00% <= 875 milliseconds
80.00% <= 878 milliseconds
90.00% <= 886 milliseconds
100.00% <= 888 milliseconds
11.24 requests per second

PS: 在SSL的情况下,每秒处理请求的能下有明显的下降。

三:对Redis Benchmark命令中携带参数的介绍

Usage: redis-benchmark [-h <host>] [-p <port>] [-c <clients>] [-n <requests]> [-k <boolean>]


-h <hostname> Server hostname (default 127.0.0.1)
-p <port> Server port (default 6379)//默认情况下,都使用6379端口,因Azure Redis默认只开通了6380端口,进行SSL通信。所以需要在Azure Redis门户中允许6379端口的非SSL访问。
-s <socket> Server socket (overrides host and port)
-a <password> Password for Redis Auth
-c <clients> Number of parallel connections (default 50)
-n <requests> Total number of requests (default 100000)
-d <size> Data size of SET/GET value in bytes (default 2)
--dbnum <db> SELECT the specified db number (default 0)
-k <boolean> 1=keep alive 0=reconnect (default 1)
-r <keyspacelen> Use random keys for SET/GET/INCR, random values for SADD
Using this option the benchmark will expand the string __rand_int__
inside an argument with a 12 digits number in the specified range
from 0 to keyspacelen-1. The substitution changes every time a command
is executed. Default tests use this to hit random keys in the
specified range.
-P <numreq> Pipeline <numreq> requests. Default 1 (no pipeline).
-q Quiet. Just show query/sec values
--csv Output in CSV format
-l Loop. Run the tests forever
-t <tests> Only run the comma separated list of tests. The test
names are the same as the ones produced as output.
-I Idle mode. Just open N idle connections and wait.

参考资料:

Redis Release: https://github.com/microsoftarchive/redis/releases

如何进行基准检验和测试缓存的性能: https://docs.azure.cn/zh-cn/azure-cache-for-redis/cache-management-faq#how-can-i-benchmark-and-test-the-performance-of-my-cache

How fast is Redis: https://redis.io/topics/benchmarks

【Azure Redis 缓存 Azure Cache For Redis】使用Redis自带redis-benchmark.exe命令测试Azure Redis的性能的更多相关文章

  1. spring boot redis 缓存(cache)集成

    Spring Boot 集成教程 Spring Boot 介绍 Spring Boot 开发环境搭建(Eclipse) Spring Boot Hello World (restful接口)例子 sp ...

  2. 【Azure Redis 缓存 Azure Cache For Redis】Azure Redis由低级别(C)升级到高级别(P)的步骤和注意事项, 及对用户现有应用的潜在影响,是否需要停机时间窗口,以及这个时间窗口需要多少的预估问题

    问题描述 由于Azure Redis的性能在不同级别表现不同,当需要升级/缩放Redis的时候,从使用者的角度,需要知道有那些步骤? 注意事项? 潜在影响?停机事件窗口? 升级预估时间? 解决方案 从 ...

  3. 【Azure Redis 缓存】Linux虚拟机中使用6380端口(SSL方式)连接Azure Redis (redis-cli & stunnel)

    问题描述 在Azure Redis的官方文档中,介绍了在Windows下,如何通过redis-cli.exe连接Redis, 包含如何配置stunnel使得通过 6380,SSL方式连接到Redis ...

  4. spring-boot-2.0.3之redis缓存实现,不是你想的那样哦!

    前言 开心一刻 小白问小明:“你前面有一个5米深的坑,里面没有水,如果你跳进去后该怎样出来了?”小明:“躺着出来呗,还能怎么出来?”小白:“为什么躺着出来?”小明:“5米深的坑,还没有水,跳下去不死就 ...

  5. 使用方法拦截机制在不修改原逻辑基础上为 spring MVC 工程添加 Redis 缓存

    首先,相关文件:链接: https://pan.baidu.com/s/1H-D2M4RfXWnKzNLmsbqiQQ 密码: 5dzk 文件说明: redis-2.4.5-win32-win64.z ...

  6. Spring优雅整合Redis缓存

    “小明,多系统的session共享,怎么处理?”“Redis缓存啊!” “小明,我想实现一个简单的消息队列?”“Redis缓存啊!” “小明,分布式锁这玩意有什么方案?”“Redis缓存啊!” “小明 ...

  7. SpringBoot缓存管理(三) 自定义Redis缓存序列化机制

    前言 在上一篇文章中,我们完成了SpringBoot整合Redis进行数据缓存管理的工作,但缓存管理的实体类数据使用的是JDK序列化方式(如下图所示),不便于使用可视化管理工具进行查看和管理. 接下来 ...

  8. Windows下Redis缓存服务器的使用 .NET StackExchange.Redis Redis Desktop Manager

    Redis缓存服务器是一款key/value数据库,读110000次/s,写81000次/s,因为是内存操作所以速度飞快,常见用法是存用户token.短信验证码等 官网显示Redis本身并没有Wind ...

  9. 基于Redis缓存的Session共享(附源码)

    基于Redis缓存的Session共享(附源码) 在上一篇文章中我们研究了Redis的安装及一些基本的缓存操作,今天我们就利用Redis缓存实现一个Session共享,基于.NET平台的Seesion ...

随机推荐

  1. HTML轮播(3)

    前言 现在给轮播加上可视化的点,实际这样的轮播已经算完成的了 CSS #LB { width: 100%; height: 948px; overflow: hidden; position:rela ...

  2. asp.net core的授权过滤器中获取action上的Attribute

    var action = context.ActionDescriptor as ControllerActionDescriptor; var permission = action.MethodI ...

  3. [bug]录

    后端请求地址找不到,Tomcat服务器无响应 报404错误 查看资料和视频,用了2天时间(实际不到2天),还没有解决,我在书上找了描述,也问了别人,路径改成图上所说,还是未解决,找资源找到不广泛,没找 ...

  4. CentOS换yum源为国内源

    CentOS换源 yum源 备份原来的文件. mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup ...

  5. 面试时说Redis是单线程的,被喷惨了!

    Redis是单线程的,这话搁以前,是横着走的,谁都知道的真理.现在不一样,Redis 变了.再说这句话,多少得有质疑的语气来跟你辩驳一番.意志不坚定的,可能就缴械投降,顺着别人走了. 到底是什么样的, ...

  6. Java学习的第三十八天

    例3.4. package bgio; public class cjava { public static void main(String[]args) { int i=1; int sum=0; ...

  7. Django项目登录注册系统

    Django项目之个人网站 关注公众号"轻松学编程"了解更多. Github地址:https://github.com/liangdongchang/MyWeb.git 感兴趣的可 ...

  8. DP百题练索引

    就是一篇还在咕的文章 DP百题练(一) DP百题练(二) DP百题练(三)

  9. Spring Cloud 纯干货,从入门到实战

    导读 之前写过一篇SpringCloud从入门到精通的点我直达,微服务基础知识点我直达,今天我们使用Spring Cloud模拟一个电商项目.分别有以下2个服务,商品.订单.下面我们开始叭 技术栈 S ...

  10. 带货直播源码开发采用MySQL有什么优越性

    MySQL是世界上最流行的开源关系数据库,带货直播源码使用MySQL,可实现分钟级别的数据库部署和弹性扩展,不仅经济实惠,而且稳定可靠,易于运维.云数据库 MySQL 提供备份恢复.监控.容灾.快速扩 ...