Other

Debian 11 安装MySQL

参考文档:https://dev.mysql.com/doc/mysql-apt-repo-quick-guide/en/ 首先,下载MySQL APT 仓库文件, https://dev.mysql.com/downloads/repo/apt/. 上有最新版本。wget https://dev.mysql.com/get/mysql-apt-config_0.8.22-1_all.deb  把仓库文件合并入本机仓库:dpkg -i mysql-apt-config_0.8.22-1_all.deb 更新数据源:apt-get update 安装MySQL:apt-get install mysql-server 安装完后即自动运行,可查看当前状态:systemctl status mysql ● mysql.service - MySQL Community Server Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2022-04-30 19:57:25 CST; 1min 19s ago Docs: man:mysqld(8) http://dev.mysql.com/doc/refman/en/using-systemd.html Main PID: 4263 (mysqld) Status: Server is operational Tasks: 37 (limit: 2242) Memory: 366.4M CPU: 644ms CGroup: /system.slice/mysql.service └─4263 /usr/sbin/mysqld Apr 30 19:57:24 iZrv8fu4iejmpkZ systemd[1]: Starting MySQL Community Server.

C++基础-1-内存管理(全局区、堆区、栈区)

1. 内存管理 1.1 全局区 1 #include<iostream> 2 using namespace std; 3 4 // 全局变量 5 int g_a = 10; 6 int g_b = 10; 7 8 // const修饰的全局变量,全局常量 9 const int c_g_a = 10; 10 const int c_g_b = 10; 11 12 int main() { 13 14 //全局区 15 16 //全局变量、静态变量、常量 17 //常量:字符串常量、const修饰的全局变量 18 19 //创建普通局部变量 20 int a = 10; 21 int b = 10; 22 23 cout << 局部变量a的地址为: << (int)&a << endl; 24 cout << 局部变量b的地址为: << (int)&b << endl; 25 cout << 全局变量g_a的地址为: << (int)&g_a << endl; 26 cout << 全局变量g_b的地址为: << (int)&g_b << endl; 27 28 29 // 静态变量 加static 30 static int s_a = 10; 31 static int s_b = 10; 32 cout << 静态变量s_a的地址为: << (int)&s_a << endl; 33 cout << 静态变量s_b的地址为: << (int)&s_b << endl; 34 35 36 // 常量 37 // 字符串常量 38 cout << 字符串常量的地址为: << (int)&hello world!

2022年Redis最新面试题第8篇 - Redis缓存问题

最近整理一份关于Redis常见面试题的,也会根据自己的经验, 标注一些出现的概率,最高5颗★出现的概率最高。比如这样: Redis 最适合的场景, 可以简单的说说吗?出现概率: ★★★★ 整体目录大概如下: 目录 一、Redis基础知识 1、什么是 Redis, 有哪些优缺点? 2、Redis 最适合的场景, 可以简单的说说吗? 3、Redis 相比 Memcached 有哪些优势? 4、一个字符串类型的值能存储最大容量是多少? 5、Redis 读写分离 二、数据结构 1、Redis的数据类型有哪些? 2、说说 Redis 哈希槽的概念? 3、Hash如何实现O(1)的查询和设置速度, 以及扩容原理 4、布隆过滤器 三、事务 1、怎么理解 Redis 事务? 2、Redis事务执行过程 3、Redis事务的一些使用场景 4、Redis事务与Redis pipeline的区别 5、集群模式下Redis事务如何保证原子性 四、Redis数据持久化 1、为什么 Redis 需要把所有数据放到内存中? 2、Redis如何做持久化的? 3、Redis key 的过期时间和永久有效分别怎么设置? 五、Redis集群 1、Redis 是单进程单线程的? 2、是否使用过 Redis 集群,集群的原理是什么? 3、可以简单说说你对Redis Sentinel的理解 4、Redis Sentinal和Redis Cluster的区别 5、Redis 的同步机制了解么? 6、Redis 集群最大节点个数是多少? 六、Redis淘汰策略

Ubuntu make命令

make #调用gcc进行编译# 安装编译好的可执行程序sudo make install #安装编译好的可执行程序,需要管理员身份# 卸载软件:sudo make uninstall #卸载掉make install命令时装进去的文件,需要管理员身份只删除make时产生的临时文件:make clean同时删除configure和make产生的临时文件make distclean

redis学习笔记(9)bitmaps类型

1、概述 Redis 提供了 Bitmaps 这个 “数据类型” 可以实现对位的操作: Bitmaps 本身不是一种数据类型, 实际上它就是字符串(key-value) , 但是它可以对字符串的位进行操作。 Bitmaps 单独提供了一套命令, 所以在 Redis 中使用 Bitmaps 和使用字符串的方法不太相同。 可以把 Bitmaps 想象成一个以位为单位的数组, 数组的每个单元只能存储 0 和 1, 数组的下标在 Bitmaps 中叫做偏移量。  2、相关操作 setbit key offset value--------添加或者更新key在offset处的bit值,返回integer,0-添加成功,1-更新成功,参数offset需要大于等于0 getbit key offset--------返回key对应的string在offset处的bit值,offset未设值就被假定为由0 bitcount key [start end]---统计offset在[start,end]区间字符串被设置为1的bit数. bitpost key bit [start] [end]------返回字符串里面第一个被设置为1或者0的bit位。  参考:Redis 中 BitMap 的使用场景 - 程序员自由之路 - 博客园 (cnblogs.com)

Redis 入门知识

Redis 的存储类型 5大类型 String 类型 基本存储结构,能够存储任何形式的字符串,包括二进制。所以可以存储json字符串、图片、邮箱,一个字符串最大为512M。 Hash 类型 Redis hash 是键值对集合。 Redis hash是一个 String 类型的 field 和value 的映射表, hash 特别适合用于存储对象。 List 类型 (有序,可重复) Redis 中最简单的字符串列表,按照插入顺利排序。 可以在头部插入,也可以在尾部插入。 它的另一作用是可以当做消息队列, push 插入,pop取出。 Set 类型 (无序,不可重复) 类似 list ,最大的区别是有序和唯一 ZSet 类型 (排序,不可重复) ZSet 与 Set 一样也是 String 类型元素的集合,其不能元素重复。不同的是ZSet 集合中每一个原色都会关联一个double 类型的分数。redis 正是通过分数实现元素的排序。ZSet 集合中元素事唯一的,但分数有可能是相同的。 基本脚本 通用 exists ke ,例如: exists username expire key 秒数,例如:expire username 30 (30秒后过期 username,过期就会删除) ttl key 秒数, 例如: ttl username (查看 username 的过期时间) del key ,例如 del username

Linux高级I/O函数 dup, dup2, dup3

目录dup()示例1dup2()示例2dup3()示例3参考 dup() 如何把标志输入(stdin)重定向到一个文件,或者把标志输出(stdout)重定向到一个网络连接(sockfd)? 可以用系统调用dup或dup2。 #include <unistd.h> int dup(int oldfd); int dup2(int oldfd, int newfd); dup() 创建一个新fd,和原有fd指向相同的文件、管道或网络连接。dup()返回的文件描述符总是取系统当前可用最小整数值。 示例1 将fd2重定向到fd1。然后,从键盘接收输入,并将内容写入fd2所指文件 #include <unistd.h> #include <sys/types.h> #include <sys/stat.h> #include <fcntl.h> #include <stdio.h> #include <stdlib.h> int main() { int fd = open(test.txt, O_CREAT | O_RDWR | O_TRUNC, 0774); if (fd < 0) { perror(open error); exit(-1); } int fd2 = dup(fd); if (fd2 < 0) { perror(dup error); exit(-1); } printf(fd = %d, fd2 = %d\n, fd, fd2); // 通常fd = 3, fd2 = 4, 因为0,1,2分别为标准输入、标准输出、标准错误 char buf[128]; ssize_t n; /* 从键盘接收输入并写入fd2所指文件 */ while (( n = read(STDIN_FILENO, buf, sizeof(buf))) > 0) { if (write(fd2, buf, static_cast<size_t>(n)) < 0) { printf(Write error!

Windows Server 2016上安装SQL Server 2019 AlwaysOn Availability Groups(二)

本文包含如下内容: ·域控制器、AD、服务器加域 ·虚拟机分配静态IP ·禁用防火墙 ·验证和创建集群 开启域控制器和AD 涉及的名词:域控制器、DNS、AD(active directory) 使用主机名为VDITest3虚拟机配置AD和域。一般在企业里,将AD和域分开部署。 打开server manager -> dashboard. 点击“Add Roles and Features” 选择”Role-based or feature-based installation”并点击下一步 显示虚拟机名称、ip地址、操作系统。 开启”Active Directory Domain Services”,在跳出的弹框,点击“add features”安装所有依赖。 类似地开启DNS 点击下一步 不要安装不需要的服务、特性、角色。 有些特性需要重启。建议手动重启 开始安装角色和特性 因为我们在这个服务器上安装了域控制器,在server roles会有个警告提醒,点击Promote this server as a domain controller。 在AD服务配置界面,选择“Add a new forest”并指定根域。我将根域指定为MyDemoSQL.com 下一步,使用默认设置。执行域admin的密码。 略过DNS配置。直接下一步 显示NetBIOS域名,它是没有.com后缀的域名。 默认会安装AD数据库、日志文件目录。本文是演示用,直接安装在C盘 执行条件检查,我们可以忽略警告消息。 执行重启虚拟机 重启后,可以验证计算机是域MyDemoSQL.com的一部分。到这里,只是将一个虚拟机配置了域。 配置静态IP和DNS Control Panel->Network and Internet->Network Connections. Click on the Change adapter settings. 配置Internet Protocol Version 4(TCP/IPv4) and Properties.

使用TypeScriptToLua+openresty-lua-types+docker-compose 开发nginx 模块服务

以下核心是一个演示,对于是如何集成的,以前大致有介绍过,通过此主要别大家介绍下如果集成使用 运行环境准备 需要先安装nodejs,docker-compose 参考结构 具体的可以查看github 源码,以下只是示例   运行环境简单说明 version: '3' services: op: build: ./ volumes: - ./nginx.conf:/usr/local/openresty/nginx/conf/nginx.conf // nginx 配置 - ./lua_code/:/opt/lua/ // 通过ts 编译的lua 代码 ports: - 80:80 dockerfile 比较简单,独立出来是方便后续安装一些lua 模块(opm 或者luarocks),初始时候只包含基础镜像 FROM openresty/openresty:1.21.4.1rc3-1-alpine-fat nginx 配置文件 比较简单,只博阿含核心一些配置,其他的没有 user root; master_process off; worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type text/html; lua_code_cache off; lua_package_path '/opt/lua/?.lua;;'; real_ip_header X-Forwarded-For; resolver 114.