Fork me on GitHub

Redis-02-入门与使用

Redis-02-入门与使用

1. 概述

  1. Redis是什么?
  • Redis(Remote Dictionary Server ),即远程字典服务,是一个开源的使用ANSI C语言编写、

  • 支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。

  • 也被称之为结构化数据库!

  1. Redis能做什么?
  • Redis 是一个高性能的key-value数据库。 redis的出现,很大程度补偿了memcached这类key/value存储的不足,在部 分场合可以对关系数据库起到很好的补充作用。
  • Redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。这使得Redis可执行单层树复制。

阅读更多...

Redis-01-Nosql简介

Redis-01-Nosql简介

1. NoSQL概述

1.1 为什么要使用Nosql?

2020年:大数据时代!

  • 单机MySQL的年代

90年代,一个基本网站访问量一般不会太大,单个数据库完全足够!

那个时候,更多的是去使用Html~(服务器完全没有太大的压力)

思考一下:这种情况下,整个网站的瓶颈是什么?

  1. 数据量如果太大,一个机器都放不下了!
  2. 数据的索引 (Mysql超过300万,要建对应索引:B+树)
  3. 访问量(读写混合),一个服务器承受不了!

只要出现上面三个情况之一,那么就必须要晋级

  • Memcached(缓存) + Mysql + 垂直拆分(读写分离)

网站百分之80的情况下都在读,所以说希望减轻数据库的压力,使用缓存来保证效率。

发展过程:

  1. 优化数据结构和索引
  2. 文件缓存(IO)
  3. Memcached(缓存) === 当时最热门的技术

阅读更多...

SpringBoot-17-异步,定时,邮件

SpringBoot-17-异步,定时,邮件

在工作中,常常会用到异步处理任务,比如我们在网站上发送邮件,后台会去发送邮件,此时前台会造成响应不动,直到邮件发送完毕,响应才会成功,所以我们一般会采用多线程的方式去处理这些任务。

还有一些定时任务,比如需要在每天凌晨的时候,分析一次前一天的日志信息。还有就是邮件的发送,微信的前身也是邮件服务呢?

其实SpringBoot都给我们提供了对应的支持,我们上手使用十分的简单,只需要开启一些注解支持,配置一些配置文件即可!

阅读更多...

Leetcode-007-整数反转

Leetcode-007- 整数反转

给出一个 32 位的有符号整数,你需要将这个整数中每位上的数字进行反转。

1
2
3
4
5
6
7
8
9
10
11
12
示例 1:

输入: 123
输出: 321
示例 2:

输入: -123
输出: -321
示例 3:

输入: 120
输出: 21

注意:

假设我们的环境只能存储得下 32 位的有符号整数,则其数值范围为 [−231, 231 − 1]。请根据这个假设,如果反转后整数溢出那么就返回 0。

思路:进位反转

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
public int reverse(int x) {
// 反转后的结果
int ans = 0;

while (x != 0){
// 拿到每一个个位
int pop = x % 10;

// 溢出处理
// ans * 10 + pop > Integer.MAXVAlUE
// ans * 10 + pop < Integer.MINVALUE
if ((ans > Integer.MAX_VALUE/10)
|| (ans == Integer.MAX_VALUE/10) && pop > 7){
return 0;
}

if ((ans < Integer.MIN_VALUE/10)
|| (ans == Integer.MIN_VALUE/10) && pop < -8){
return 0;
}

ans = ans * 10 + pop;
x /= 10;
}
return ans;
}
  • © 2019-2022 Zhuuu
  • PV: UV:

请我喝杯咖啡吧~

支付宝
微信