# Redis 入门到精通(八)-- 服务器配置-redis.conf配置与高级数据类型

news2024/11/22 14:21:18

Redis 入门到精通(八)-- 服务器配置-redis.conf配置与高级数据类型

一、redis 服务器配置–redis.conf 配置

1、服务器端设定

1)设置服务器以守护进程的方式运行: daemonize yes|no
2)绑定主机地址: bind 127.0.0.1
3)设置服务器端口号: port 6379
4)设置数据库数量: databases 16

2、redis 实际操作演示–redis.conf 配置(redis-server)


# 切换到 redis 安装目录 (redis-server)
cd /usr/local/redis/redis-4.0.0/

# 查看 redis 服务是否后台启动成功:
root@WIN-20240529BJA:/usr/local/redis/redis-4.0.0# ps -ef | grep redis-

# 杀死 redis 服务进程(如果已经启动 redis 服务,可以先停止服务,如:PID 1742)
root@WIN-20240529BJA:/usr/local/redis/redis-4.0.0# kill -s 9 1742

# 修改 conf/redis-6379.conf 配置文件,添加绑定主机地址: bind 127.0.0.1 相关配置。
vim conf/redis-6379.conf

# 保存以下内容即可:
port 6379
daemonize yes
logfile "6379.log"

# redis 持久化 -- RDB 相关配置
# data 目录为新建目录(设置存储.rdb文件的路径)
dir /usr/local/redis/redis-4.0.0/data

# 设置本地数据库文件名:
dbfilename dump-6379.rdb
# 设置存储至本地数据库时是否压缩数据
rdbcompression yes
# 设置是否进行 RDB 文件格式校验
rdbchecksum yes

# save配置(每10秒有2次数据变化就自动保存)
save 10 2

# 添加如下配置(AOF存储功能)
# 开启AOF持久化功能
appendonly yes
# AOF写数据策略(每次)
appendfsync always
# 设置文件名
appendfilename appendonly-6379.aof

# 绑定主机地址: 
bind 127.0.0.1

# 设置数据库数量: 
databases 16



# 指定配置文件,启动 redis 服务:
root@WIN-20240529BJA:/usr/local/redis/redis-4.0.0# redis-server conf/redis-6379.conf
root@WIN-20240529BJA:/usr/local/redis/redis-4.0.0# ps -ef | grep redis-             
root      1742     1  0 22:40 ?        00:00:00 redis-server *:6379
root      1748  1367  0 22:40 pts/2    00:00:00 grep --color=auto redis-

3、redis 实际操作演示–打开另一客户端连接(redis-cli-01)


# 切换到 redis 安装目录 
cd /usr/local/redis/redis-4.0.0/

# 指定端口号,启动 redis 客户端:
root@WIN-20240529BJA:/usr/local/redis/redis-4.0.0# redis-cli -p 6379

# 采用 info 命令查看 redis 服务信息,
127.0.0.1:6379> info
# Server
redis_version:4.0.0
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:6027d33076b6701c
redis_mode:standalone
os:Linux 5.15.153.1-microsoft-standard-WSL2 x86_64
arch_bits:64
multiplexing_api:epoll
atomicvar_api:atomic-builtin
gcc_version:7.5.0
process_id:1755
run_id:a9336e66ca7a594260ff5244edca8dddbb5a2785
tcp_port:6379
uptime_in_seconds:246
uptime_in_days:0
hz:10
lru_clock:10124785
executable:/usr/local/redis/redis-4.0.0/redis-server
config_file:/usr/local/redis/redis-4.0.0/conf/redis-6379.conf

# Clients
connected_clients:1
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0

# Memory
used_memory:827904
used_memory_human:808.50K
used_memory_rss:9654272
used_memory_rss_human:9.21M
used_memory_peak:827904
used_memory_peak_human:808.50K
used_memory_peak_perc:100.16%
used_memory_overhead:815398
used_memory_startup:765624
used_memory_dataset:12506
used_memory_dataset_perc:20.08%
total_system_memory:4047536128
total_system_memory_human:3.77G
used_memory_lua:37888
used_memory_lua_human:37.00K
maxmemory:0
maxmemory_human:0B
maxmemory_policy:noeviction
mem_fragmentation_ratio:11.66
mem_allocator:jemalloc-4.0.3
active_defrag_running:0
lazyfree_pending_objects:0

# Persistence
loading:0
rdb_changes_since_last_save:0
rdb_bgsave_in_progress:0
rdb_last_save_time:1721400583
rdb_last_bgsave_status:ok
rdb_last_bgsave_time_sec:0
rdb_current_bgsave_time_sec:-1
rdb_last_cow_size:225280
aof_enabled:1
aof_rewrite_in_progress:0
aof_rewrite_scheduled:0
aof_last_rewrite_time_sec:-1
aof_current_rewrite_time_sec:-1
aof_last_bgrewrite_status:ok
aof_last_write_status:ok
aof_last_cow_size:0
aof_current_size:1887
aof_base_size:1887
aof_pending_rewrite:0
aof_buffer_length:0
aof_rewrite_buffer_length:0
aof_pending_bio_fsync:0
aof_delayed_fsync:0

# Stats
total_connections_received:1
total_commands_processed:1
instantaneous_ops_per_sec:0
total_net_input_bytes:31
total_net_output_bytes:10162
instantaneous_input_kbps:0.00
instantaneous_output_kbps:0.00
rejected_connections:0
sync_full:0
sync_partial_ok:0
sync_partial_err:0
expired_keys:0
evicted_keys:0
keyspace_hits:0
keyspace_misses:0
pubsub_channels:0
pubsub_patterns:0
latest_fork_usec:177
migrate_cached_sockets:0
slave_expires_tracked_keys:0
active_defrag_hits:0
active_defrag_misses:0
active_defrag_key_hits:0
active_defrag_key_misses:0

# Replication
role:master
connected_slaves:0
master_replid:3b10b8c9e8f7158f9ba8c0e6866219d472365c9b
master_replid2:0000000000000000000000000000000000000000
master_repl_offset:0
second_repl_offset:-1
repl_backlog_active:0
repl_backlog_size:1048576
repl_backlog_first_byte_offset:0
repl_backlog_histlen:0

# CPU
used_cpu_sys:0.10
used_cpu_user:0.05
used_cpu_sys_children:0.00
used_cpu_user_children:0.00

# Cluster
cluster_enabled:0

# Keyspace
db0:keys=2,expires=0,avg_ttl=0
127.0.0.1:6379> 

4、日志配置

1)设置服务器以指定日志记录级别: loglevel debug|verbose|notice|warning

2)日志记录文件名: logfile 端口号.log

5、注意事项:

日志级别开发期设置为 verbose 即可,生产环境中配置为 notice,简化日志输出量,降低写日志 IO 的频度。

6、客户端配置

1)设置同一时间最大客户端连接数,默认无限制。当客户端连接到达上限,Redis 会关闭新的连接

maxclients 0

2)客户端闲置等待最大时长,达到最大值后关闭连接。如需关闭该功能,设置为 0

timeout 300

7、多服务器快捷配置

  • 导入并加载指定配置文件信息,用于快速创建 redis 公共配置较多的 redis 实例配置文件,便于维护。
include /path/server-端口号.conf

二、redis 高级数据类型–bitmaps 介绍与基本操作

1、Bitmaps 类型的基础操作

1)获取指定 key 对应偏移量上的 bit 值

getbit key offset

2)设置指定 key 对应偏移量上的 bit 值,value 只能是 1 或 0

setbit key offset value

2、redis 实际操作演示–bitmaps 介绍与基本操作


# 切换到 redis 安装目录 (redis-server 服务端)
cd /usr/local/redis/redis-4.0.0/

# 查看 redis 服务是否后台启动成功:
root@WIN-20240529BJA:/usr/local/redis/redis-4.0.0# ps -ef | grep redis-

# 杀死 redis 服务进程(如果已经启动 redis 服务,可以先停止服务,如:PID 1742)
root@WIN-20240529BJA:/usr/local/redis/redis-4.0.0# kill -s 9 1742

# 指定配置文件,启动 redis 服务:
root@WIN-20240529BJA:/usr/local/redis/redis-4.0.0# redis-server conf/redis-6379.conf
root@WIN-20240529BJA:/usr/local/redis/redis-4.0.0# ps -ef | grep redis-             
root      1742     1  0 22:40 ?        00:00:00 redis-server *:6379
root      1748  1367  0 22:40 pts/2    00:00:00 grep --color=auto redis-

# 打开另一客户端连接(redis-cli-01)

# 切换到 redis 安装目录(redis-cli-01) 
cd /usr/local/redis/redis-4.0.0/

# 指定端口号,启动 redis 客户端:
root@WIN-20240529BJA:/usr/local/redis/redis-4.0.0# redis-cli -p 6379

# bitmaps 高级数据类型操作
127.0.0.1:6379> setbit bits 0 1
(integer) 0
127.0.0.1:6379> getbit bits 0
(integer) 1
127.0.0.1:6379> getbit bits 10
(integer) 0
127.0.0.1:6379> setbit bits 100000000 1
(integer) 0
(1.21s)

三、redis 高级数据类型–bitmaps扩展操作

1、Bitmaps 类型的扩展操作

1)业务场景:电影网站

  • 统计每天某一部电影是否被点播
  • 统计每天有多少部电影被点播
  • 统计每周/月/年有多少部电影被点播
  • 统计年度哪部电影没有被点播

2)业务分析:

58-Bitmaps类型的扩展操作.png

2、Bitmaps 类型的扩展操作

1)对指定 key 按位进行交、并、非、异或操作,并将结果保存到 destKey 中

bitop op destKey key1 [key2...]

and : 交 
or 	: 并 
not : 非 
xor : 异或 

2)统计指定 key 中 1 的数量

bitcount key [start end]

3、redis 实际操作演示–bitmaps 扩展操作


# 切换到 redis 安装目录 (redis-server 服务端)
cd /usr/local/redis/redis-4.0.0/

# 查看 redis 服务是否后台启动成功:
root@WIN-20240529BJA:/usr/local/redis/redis-4.0.0# ps -ef | grep redis-

# 杀死 redis 服务进程(如果已经启动 redis 服务,可以先停止服务,如:PID 1742)
root@WIN-20240529BJA:/usr/local/redis/redis-4.0.0# kill -s 9 1742

# 指定配置文件,启动 redis 服务:
root@WIN-20240529BJA:/usr/local/redis/redis-4.0.0# redis-server conf/redis-6379.conf
root@WIN-20240529BJA:/usr/local/redis/redis-4.0.0# ps -ef | grep redis-             
root      1742     1  0 22:40 ?        00:00:00 redis-server *:6379
root      1748  1367  0 22:40 pts/2    00:00:00 grep --color=auto redis-

# 打开另一客户端连接(redis-cli-01)

# 切换到 redis 安装目录(redis-cli-01) 
cd /usr/local/redis/redis-4.0.0/

# 指定端口号,启动 redis 客户端:
root@WIN-20240529BJA:/usr/local/redis/redis-4.0.0# redis-cli -p 6379

# bitmaps 高级数据类型操作

# 清空数据
127.0.0.1:6379> flushall
OK

# 设置 6 个值
127.0.0.1:6379> setbit 20880808 0 1
(integer) 0
127.0.0.1:6379> setbit 20880808 4 1
(integer) 0
127.0.0.1:6379> setbit 20880808 8 1
(integer) 0
127.0.0.1:6379> setbit 20880808 0 1
(integer) 1
127.0.0.1:6379> setbit 20880809 0 1
(integer) 0
127.0.0.1:6379> setbit 20880809 5 1
(integer) 0
127.0.0.1:6379> setbit 20880809 8 1

# 统计数量
127.0.0.1:6379> bitcount 20880808
(integer) 3
127.0.0.1:6379> bitcount 20880809
(integer) 3
127.0.0.1:6379> setbit 20880808 6 1
(integer) 0
127.0.0.1:6379> bitcount 20880808
(integer) 4

# 合并数据
127.0.0.1:6379> bitop or 08-09 20880808 20880809
(integer) 2

# 统计合并后的数据个数
127.0.0.1:6379> bitcount 08-09
(integer) 5

4、redis 应用 场景:

1)redis 用于控制数据库表主键 id,为数据库表主键提供生成策略,保障数据库表的主键唯一性此方案适用于所有数据库,且支持数据库集群。

2)redis 控制数据的生命周期,通过数据是否失效控制业务行为,适用于所有具有时效性限定控制的操作。

3)redis 可应用于各种结构型和非结构型高热度数据访问加速。

4)redis 应用于购物车数据存储设计。

5)redis 应用于抢购,限购类、限量发放优惠卷、激活码等业务的数据存储设计。

6)redis 应用于具有操作先后顺序的数据控制。

7)redis 应用于最新消息展示。

8)redis 应用于随机推荐类信息检索,例如热点歌单推荐,热点新闻推荐,热卖旅游线路,应用APP推荐大V推荐等。

9)set 类型数据的扩展操作:

  • redis 应用于同类信息的关联搜索,二度关联搜索,深度关联搜索。
  • 显示共同关注(一度)。
  • 显示共同好友(一度)。
  • 由用户A出发,获取到好友用户B的好友信息列表(一度)。
  • 由用户A出发,获取到好友用户B的购物清单列表(二度)。
  • 由用户A出发,获取到好友用户B的游戏充值列表(二度)。

10)redis 应用于同类型不重复数据的合并操作。

11)redis 应用于同类型数据的快速去重。

12)redis 应用于基于黑名单与白名单设定的服务控制。

13)redis 应用于计数器组合排序功能对应的排名。in

14)redis 应用于定时任务执行顺序管理或任务过期管理。

15)redis 应用于即时任务/消息队列执行管理。

16)redis 应用于限时按次结算的服务控制。

17)redis 应用于基于时间顺序的数据操作,而不关注具体时间。

18)redis 应用基于状态控制的批量任务执行.

19)redis 应用基于分布式锁对应的场景控制。

20) 导入并加载指定配置文件信息,用于快速创建 redis 公共配置较多的 redis 实例配置文件,便于维护。

21)redis 应用于信息状态统计。

四、redis 高级数据类型–HyperLogLog

1、统计独立 UV

1)原始方案:set 存储每个用户的id(字符串)。
2)改进方案:Bitmaps 存储每个用户状态(bit)。
3)全新的方案:Hyperloglog。

2、HyperLogLog 基数统计。

  • 基数是数据集去重后元素个数。
  • HyperLogLog 是用来做基数统计的,运用了 LogLog 的算法。

如:

{1, 3, 5, 7, 5, 7, 8} 基数集: {1, 3, 5 ,7, 8} 	基数:5
{1, 1, 1, 1, 1, 7, 1} 基数集: {1,7} 			基数:2

3、LogLog 算法:

59-LogLog算法.png

4、HyperLogLog 类型的基本操作

1)添加数据: pfadd key element [element …]

2)统计数据: pfcount key [key …]

3)合并数据: pfmerge destkey sourcekey [sourcekey…]

4)示例:

127.0.0.1:6379> flushall
OK
127.0.0.1:6379> pfadd hll 001
(integer) 1
127.0.0.1:6379> pfadd hll 001
(integer) 0
127.0.0.1:6379> pfadd hll 001
(integer) 0
127.0.0.1:6379> pfadd hll 001
(integer) 0
127.0.0.1:6379> pfadd hll 001
(integer) 0
127.0.0.1:6379> pfadd hll 002
(integer) 1
127.0.0.1:6379> pfadd hll 002
(integer) 0
127.0.0.1:6379> pfcount hll
(integer) 2

5、redis 应用 场景:

1)redis 用于控制数据库表主键 id,为数据库表主键提供生成策略,保障数据库表的主键唯一性此方案适用于所有数据库,且支持数据库集群。

2)redis 控制数据的生命周期,通过数据是否失效控制业务行为,适用于所有具有时效性限定控制的操作。

3)redis 可应用于各种结构型和非结构型高热度数据访问加速。

4)redis 应用于购物车数据存储设计。

5)redis 应用于抢购,限购类、限量发放优惠卷、激活码等业务的数据存储设计。

6)redis 应用于具有操作先后顺序的数据控制。

7)redis 应用于最新消息展示。

8)redis 应用于随机推荐类信息检索,例如热点歌单推荐,热点新闻推荐,热卖旅游线路,应用APP推荐大V推荐等。

9)set 类型数据的扩展操作:

  • redis 应用于同类信息的关联搜索,二度关联搜索,深度关联搜索。
  • 显示共同关注(一度)。
  • 显示共同好友(一度)。
  • 由用户A出发,获取到好友用户B的好友信息列表(一度)。
  • 由用户A出发,获取到好友用户B的购物清单列表(二度)。
  • 由用户A出发,获取到好友用户B的游戏充值列表(二度)。

10)redis 应用于同类型不重复数据的合并操作。

11)redis 应用于同类型数据的快速去重。

12)redis 应用于基于黑名单与白名单设定的服务控制。

13)redis 应用于计数器组合排序功能对应的排名。in

14)redis 应用于定时任务执行顺序管理或任务过期管理。

15)redis 应用于即时任务/消息队列执行管理。

16)redis 应用于限时按次结算的服务控制。

17)redis 应用于基于时间顺序的数据操作,而不关注具体时间。

18)redis 应用基于状态控制的批量任务执行.

19)redis 应用基于分布式锁对应的场景控制。

20) 导入并加载指定配置文件信息,用于快速创建 redis 公共配置较多的 redis 实例配置文件,便于维护。

21)redis 应用于信息状态统计。

22)redis 应用于独立信息统计。

6、HyperLogLog 相关说明

  • 用于进行基数统计,不是集合,不保存数据,只记录数量而不是具体数据。
  • 核心是基数估算算法,最终数值存在一定误差。
  • 误差范围:基数估计的结果是一个带有 0.81% 标准错误的近似值。
  • 耗空间极小,每个 hyperloglog key 占用了 12K 的内存用于标记基数。
  • pfadd 命令不是一次性分配12K内存使用,会随着基数的增加内存逐渐增大。
  • Pfmerge 命令合并后占用的存储空间为 12K,无论合并之前数据量多少。

五、redis 高级数据类型–GEO

1、GEO 类型的基本操作

1)添加坐标点:geoadd key longitude latitude member [longitude latitude member …]
2)获取坐标点:geopos key member [member …]
3)计算坐标点距离:geodist key member1 member2 [unit]

2、GEO类型的基本操作

1)添加坐标点:

georadius key longitude latitude radius m|km|ft|mi [withcoord] [withdist] [withhash] [count count]

2)获取坐标点:

georadiusbymember key member radius m|km|ft|mi [withcoord] [withdist] [withhash] [count count]

3)计算经纬度:

geohash key member [member ...]

3、示例:


# 清空数据 
127.0.0.1:6379> flushall
OK

# 定义坐标数据
127.0.0.1:6379> geoadd geos 1 1 a
(integer) 1
127.0.0.1:6379> geoadd geos 2 2 b
(integer) 1

# 取出 a 点
127.0.0.1:6379> geopos geos a
1) 1) "0.99999994039535522"
   2) "0.99999945914297683"
   
# 计算 a 坐标到 b 坐标的距离   
127.0.0.1:6379> geodist geos a b
"157270.0561"

# 计算 a 坐标到 b 坐标的距离(以‘米’ 为单位)   
127.0.0.1:6379> geodist geos a b m
"157270.0561"

# 计算 a 坐标到 b 坐标的距离(以“千米” 为单位) 
127.0.0.1:6379> geodist geos a b km
"157.2701"


# 创建坐标点(田字格)
127.0.0.1:6379> geoadd geos 1 1 1,1
(integer) 1
127.0.0.1:6379> geoadd geos 1 2 1,2
(integer) 1
127.0.0.1:6379> geoadd geos 1 3 1,3
(integer) 1
127.0.0.1:6379> geoadd geos 2 1 2,1
(integer) 1
127.0.0.1:6379> geoadd geos 2 2 2,2
(integer) 1
127.0.0.1:6379> geoadd geos 2 3 2,3
(integer) 1
127.0.0.1:6379> geoadd geos 3 1 3,1
(integer) 1
127.0.0.1:6379> geoadd geos 3 2 3,2
(integer) 1
127.0.0.1:6379> geoadd geos 3 3 3,3
(integer) 1
127.0.0.1:6379> geoadd geos 5 5 5,5
(integer) 1

# 统计 2,2 这个点周围 180km 范围内的 点
127.0.0.1:6379> georadiusbymember geos 2,2 180 km
1) "1,1"
2) "2,1"
3) "1,2"
4) "2,2"
5) "3,1"
6) "3,2"
7) "1,3"
8) "2,3"
9) "3,3"

# 统计 2,2 这个点周围 120km 范围内的 点
127.0.0.1:6379> georadiusbymember geos 2,2 120 km
1) "1,2"
2) "2,2"
3) "2,3"
4) "2,1"
5) "3,2"

# 统计 2,2 这个点周围 1800km 范围内的 点
127.0.0.1:6379> georadiusbymember geos 2,2 1800 km
 1) "1,1"
 2) "2,1"
 3) "1,2"
 4) "2,2"
 5) "3,1"
 6) "3,2"
 7) "1,3"
 8) "2,3"
 9) "3,3"
10) "5,5"

# 统计 经纬度 1.5 1.5 这个点周围 90km 范围内的 点 
127.0.0.1:6379> georadius geos 1.5 1.5 90 km
1) "1,2"
2) "2,2"
3) "1,1"
4) "2,1"

# 统计 2,2 这个点 的 hash 值。
127.0.0.1:6379> geohash geos 2,2
1) "s037ms06g70"

4、redis 应用 场景:

1)redis 用于控制数据库表主键 id,为数据库表主键提供生成策略,保障数据库表的主键唯一性此方案适用于所有数据库,且支持数据库集群。

2)redis 控制数据的生命周期,通过数据是否失效控制业务行为,适用于所有具有时效性限定控制的操作。

3)redis 可应用于各种结构型和非结构型高热度数据访问加速。

4)redis 应用于购物车数据存储设计。

5)redis 应用于抢购,限购类、限量发放优惠卷、激活码等业务的数据存储设计。

6)redis 应用于具有操作先后顺序的数据控制。

7)redis 应用于最新消息展示。

8)redis 应用于随机推荐类信息检索,例如热点歌单推荐,热点新闻推荐,热卖旅游线路,应用APP推荐大V推荐等。

9)set 类型数据的扩展操作:

  • redis 应用于同类信息的关联搜索,二度关联搜索,深度关联搜索。
  • 显示共同关注(一度)。
  • 显示共同好友(一度)。
  • 由用户A出发,获取到好友用户B的好友信息列表(一度)。
  • 由用户A出发,获取到好友用户B的购物清单列表(二度)。
  • 由用户A出发,获取到好友用户B的游戏充值列表(二度)。

10)redis 应用于同类型不重复数据的合并操作。

11)redis 应用于同类型数据的快速去重。

12)redis 应用于基于黑名单与白名单设定的服务控制。

13)redis 应用于计数器组合排序功能对应的排名。in

14)redis 应用于定时任务执行顺序管理或任务过期管理。

15)redis 应用于即时任务/消息队列执行管理。

16)redis 应用于限时按次结算的服务控制。

17)redis 应用于基于时间顺序的数据操作,而不关注具体时间。

18)redis 应用基于状态控制的批量任务执行.

19)redis 应用基于分布式锁对应的场景控制。

20) 导入并加载指定配置文件信息,用于快速创建 redis 公共配置较多的 redis 实例配置文件,便于维护。

21)redis 应用于信息状态统计。

22)redis 应用于独立信息统计。

23)redis 应用于地理位置计算。

上一节关联链接请点击:
# Redis 入门到精通(七)-- redis 删除策略

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1942522.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【unity小技巧】新输入系统InputSystem重新绑定控制按键(最全最完美解决方案)

文章目录 前言安装InputSystem,并导入重新绑定控制按键例子输入控制拿例子的重绑定按钮预制体绑定对应按钮升级文本新增全屏覆盖的提示文本配置绑定绑定当前启用的输入键禁用一些按钮的绑定和退出按键绑定状态重复绑定按钮问题重置绑定重复按钮修改按钮绑定名字添加两个变量勾选…

【常见开源库的二次开发】基于openssl的加密与解密——MD5算法源码解析(五)

一、MD5算法分析 : 1.1 关于MD5 “消息摘要”是指MD5(Message Digest Algorithm 5)算法。MD5是一种广泛使用的密码散列函数,它可以生成一个128位(16字节)的散列值。 RFC 1321: MD5由Ronald Rivest在1992…

Windows 磁盘分区样式有几种?如何查看电脑分区样式?

在使用 Windows 操作系统的过程中,磁盘分区是一个重要的概念。磁盘分区的方式直接影响到数据存储和系统运行的效率。磁盘分区的时候也有不同的样式,你知道分区类型有哪些吗?不同的分区样式决定了硬盘的分区方式、可支持的最大存储容量以及兼容…

某企业网络及服务器规划与设计

目录 1. 项目需求与设计... 5 1.1 项目需求... 5 1.2 组建企业网络内部网的流程... 5 1) 构思阶段... 5 2) 方案设计阶段... 6 3) 工程实施阶段... 6 4) 测试验收... 6 5) 管理维护... 7 1.3 技术可行性分析... 7 1.4 网络组网规则... 8 1.5 网络拓扑... 8 2. 项目所…

气膜体育馆内运动舒服吗—轻空间

气膜体育馆作为一种新型的体育设施,以其灵活的结构和高效的功能受到越来越多体育爱好者的青睐。很多人可能会担心在这种环境中运动是否会感到不适。轻空间将从气膜体育馆的结构特点、环境控制和用户体验三个方面,详细分析在气膜体育馆内运动的舒适度。 气…

如何用JavaScript实现视频观看时间追踪

在网页开发中,跟踪用户与多媒体内容(如视频)的互动是一项常见需求。无论是教育平台、数据分析,还是用户参与度统计,监控用户如何观看视频内容都能提供宝贵的见解。这篇文章将探索如何使用JavaScript实现视频播放时长的…

win10安装ElasticSearch7.x和分词插件

说明: 以下内容整理自网络,格式调整优化,更易阅读,希望能对需要的人有所帮助。 一 安装 Java环境 ElasticSearch使用Java开发的,依赖Java环境,安装 ElasticSearch 7.x 之前,需要先安装jdk-8。…

飞书群聊机器人自定义机器人接入,并实现艾特@群成员功能

飞书群聊机器人还是比钉钉的要麻烦一点,钉钉的直接通过手机号就可以艾特群里面的人,但是飞书的要想艾特群里面的人,需要使用用户的 Open ID 或 User ID。这两个ID怎么获取呢?还需要在飞书的开放平台上创建一个应用,然后…

requets库传data和传json的区别

传data和传json的qubie 被测对象,白月黑羽系统 系统下载地址: https://www.byhy.net/prac/pub/info/bysms/ 测试用例下载地址: https://cdn2.byhy.net/files/selenium/testcases.xlsx 一、传data import json import requests import pytes…

废锡回收处理的生物回收法

废锡回收处理是一个复杂但重要的过程,它有助于节约资源、降低生产成本,并减少环境污染。以下是废锡回收处理的主要方法和相关细节: 一、废锡回收处理的主要方法 1. 化学法回收 酸浸法: 原理:通过加入适量的酸&#xff…

设计模式第二天|设计模式创建型:工厂模式、抽象工厂模式、单例模式、建造者模式

文章目录 设计模式的分类工厂模式简单工厂定义核心俗话说优点缺点具体实现 工厂模式(Spring IOC控制反转)定义核心**组成****俗话说****实现思路****具体实现****使用场景** 抽象工厂模式**前提概念****定义****缺点****具体实现** 单例模式**定义****俗…

Java---后端事务管理

代码世界聚眸光,昼夜敲盘思绪长。 算法心间精构建,编程路上细思量。 屏前架构乾坤定,键上飞驰智慧扬。 默默耕耘成果现,创新科技铸辉煌。 目录 一,概念 二,Spring事务管理 三,rollbackFor事务回…

深入了解软件架构:组件、容器与模块架构图详解

引言 在软件工程中,架构图是描绘系统结构和组件之间关系的重要工具。其中,组件架构图、子系统依赖分析(容器图)和模块架构图是三种常用的架构表示方法,它们各有侧重,适用于不同层面的架构分析与设计。本文…

JMeter请求导出Excel

前言 今天记录一个使用JMeter模拟浏览器请求后端导出,并下载Excel到指定位置的过程 创建请求 同样先创建一个线程组,再创建一个请求,设置好请求路径,端口号等 查看结果树 右键--添加--监听器--查看结果树 这里可以查看&#…

C语言 | Leetcode C语言题解之第273题整数转换英文表示

题目: 题解: char* singles[] {"", "One ","Two ","Three ","Four ","Five ","Six ","Seven ","Eight ","Nine "}; char* teens[] {"Ten…

二十、Qt位置相关函数

目录 一、函数概述 二、函数实践 三、总结 一、函数概述 Qt 提供了很多关于获取窗体位置及显示区域大小的函数,如 x()、y()和 pos()、react()、size()、geometry()等,统称为“位置相关函数”或“位置函数”, 如下图所示是几种主要的位置函数…

MybatisPlusException: Error: Method queryTotal execution error of sql 的报错解决

项目场景: 相关背景: 开发环境 开发系统时 系统页面加载正常 ,发布运行环境后运行一段时间,前端页面 突然出现 报错信息, 报错信息如下: MybatisPlusException: Error: Method queryTotal execution erro…

gitee的怎么上传项目

前提 1.先下载Git Bash (如果没有下载的宝子们下载连接如下: 链接: link ) 项目上传到Gitee步骤 1.在Gitee上建立远程仓库 2.填写相关信息 3.进入本地你想要上传的文件目录下,右键单击空白处,点击Git Bash Here 4.配置你的用户名和邮箱 git con…

【快速逆向二/无过程/有源码】掌上高考—2024高考志愿填报服务平台

逆向日期:2024.07.21 使用工具:Node.js 加密工具:Crypto-js标准库 文章全程已做去敏处理!!! 【需要做的可联系我】 AES解密处理(直接解密即可)(crypto-js.js 标准算法&…

【JVM基础04】——组成-什么是虚拟机栈?

目录 1- 引言:虚拟机栈1-1 虚拟机栈是什么?(What)1-2 为什么用虚拟机栈?虚拟机栈的作用 (Why) 2- ⭐核心:栈的常见问题(How)2-1 方法内的局部变量是否线程安全?线程不安全的局部变量 2-2 什么情况会导致栈内存溢出&…