0%
redis info 命令
收集了info命令的中文解释
信息 | 中文解释 |
---|---|
Server | 服务信息 |
redis_version | Redis 服务器版本 |
redis_git_sha1 | Git SHA1 |
redis_git_dirty | Git dirty flag |
redis_build_id | redis build id |
redis_mode | 运行模式,单机或者集群 |
os | Redis 服务器的宿主操作系统 |
arch_bits | 架构(32 或 64 位) |
multiplexing_api | Redis 所使用的事件处理机制 |
process_id | 服务器进程的 PID |
run_id | Redis 服务器的随机标识符(用于 Sentinel 和集群) |
tcp_port | TCP/IP 监听端口 |
uptime_in_seconds | 自 Redis 服务器启动以来,经过的秒数 |
uptime_in_days | 自 Redis 服务器启动以来,经过的天数 |
hz | redis内部调度(进行关闭timeout的客户端,删除过期key等等)频率,程序规定serverCron每秒运行10次 |
lru_clock | 以分钟为单位进行自增的时钟,用于 LRU 管理 |
executable | |
config_file | 配置文件路径 |
Clients | 客户端信息 |
connected_clients | 已连接客户端的数量(不包括通过从属服务器连接的客户端) |
client_longest_output_list | 当前连接的客户端当中,最长的输出列表 |
client_biggest_input_buf | 当前连接的客户端当中,最大输入缓存 |
blocked_clients | 正在等待阻塞命令(BLPOP、BRPOP、BRPOPLPUSH)的客户端的数量 |
Memory | 内存信息 |
used_memory | 由 Redis 分配器分配的内存总量,以字节(byte)为单位 |
used_memory_human | 以人类可读的格式返回 Redis 分配的内存总量 |
used_memory_rss | 从操作系统的角度,返回 Redis 已分配的内存总量(俗称常驻集大小)。这个值和 top 、 ps 等命令的输出一致。 |
used_memory_rss_human | 以人类可读的格式返回Redis已分配的内存总量 |
used_memory_peak | Redis 的内存消耗峰值(以字节为单位) |
used_memory_peak_human | 以人类可读的格式返回 Redis 的内存消耗峰值 |
total_system_memory | |
total_system_memory_human | |
used_memory_lua | lua引擎所使用的内存大小(以字节为单位) |
used_memory_lua_human | |
maxmemory | |
maxmemory_human | |
maxmemory_policy | 内存淘汰机制,当内存使用达到阈值的时候,所有引起申请内存的命令会报错 |
mem_fragmentation_ratio | used_memory_rss和used_memory之间的比率,小于1表示使用了swap,大于1表示碎片比较多 |
mem_allocator | 在编译时指定的redis所使用的内存分配器。可以是libc、jemalloc或者tcmalloc |
Persistence | 持久化信息 |
loading | 服务器是否正在载入持久化文件 |
rdb_changes_since_last_save | 离最近一次成功生成rdb文件,写入命令的个数,即有多少个写入命令没有持久化 |
rdb_bgsave_in_progress | 服务器是否正在创建rdb文件 |
rdb_last_save_time | 离最近一次成功创建rdb文件的时间戳。当前时间戳 - rdb_last_save_time=多少秒未成功生成rdb文件 |
rdb_last_bgsave_status | 最近一次rdb持久化是否成功 |
rdb_last_bgsave_time_sec | 最近一次成功生成rdb文件耗时秒数 |
rdb_current_bgsave_time_sec | 如果服务器正在创建rdb文件,那么这个域记录的就是当前的创建操作已经耗费的秒数 |
aof_enabled | 是否开启了aof |
aof_rewrite_in_progress | 标识aof的rewrite操作是否在进行中 |
aof_rewrite_scheduled | rewrite任务计划,当客户端发送bgrewriteaof指令,如果当前rewrite子进程正在执行,那么将客户端请求的bgrewriteaof变为计划任务,待aof子进程结束后执行rewrite |
aof_last_rewrite_time_sec | 最近一次aof rewrite耗费的时长 |
aof_current_rewrite_time_sec | 如果rewrite操作正在进行,则记录所使用的时间,单位秒 |
aof_last_bgrewrite_status | 上次bgrewriteaof操作的状态 |
aof_last_write_status | 上次aof写入状态 |
Stats | 一般统计信息 |
total_connections_received | 新创建连接个数,如果新创建连接过多,过度地创建和销毁连接对性能有影响,说明短连接严重或连接池使用有问题,需调研代码的连接设置 |
total_commands_processed | redis处理的命令数 |
instantaneous_ops_per_sec | redis当前的qps,redis内部较实时的每秒执行的命令数 |
total_net_input_bytes | redis网络入口流量字节数 |
total_net_output_bytes | redis网络出口流量字节数 |
instantaneous_input_kbps | redis网络入口kps |
instantaneous_output_kbps | redis网络出口kps |
rejected_connections | 拒绝的连接个数,redis连接个数达到maxclients限制,拒绝新连接的个数 |
sync_full | 主从完全同步成功次数 |
sync_partial_ok | 主从部分同步成功次数 |
sync_partial_err | 主从部分同步失败次数 |
expired_keys | 运行以来过期的key的数量 |
evicted_keys | 运行以来剔除(超过了maxmemory后)的key的数量 |
keyspace_hits | 命中次数 |
keyspace_misses | 没命中次数 |
pubsub_channels | 当前使用中的频道数量 |
pubsub_patterns | 当前使用的模式的数量 |
latest_fork_usec | 最近一次fork操作阻塞redis进程的耗时数,单位微秒 |
migrate_cached_sockets | |
Replication | 主从信息 |
role | 实例的角色,是master or slave |
connected_slaves | 连接的slave实例个数 |
master_repl_offset | 主从同步偏移量,此值如果和上面的offset相同说明主从一致没延迟 |
repl_backlog_active | 复制积压缓冲区是否开启 |
repl_backlog_size | 复制积压缓冲大小 |
repl_backlog_first_byte_offset | 复制缓冲区里偏移量的大小 |
repl_backlog_histlen | 此值等于 master_repl_offset-repl_backlog_first_byte_offset,该值不会超过repl_backlog_size的大小 |
CPU | CPU信息 |
used_cpu_sys | 将所有redis主进程在核心态所占用的CPU时求和累计起来 |
used_cpu_user | 将所有redis主进程在用户态所占用的CPU时求和累计起来 |
used_cpu_sys_children | 将后台进程在核心态所占用的CPU时求和累计起来 |
used_cpu_user_children | 将后台进程在用户态所占用的CPU时求和累计起来 |
Cluster | 集群信息 |
cluster_enabled | 实例是否启用集群模式 |
Keyspace | 数据库相关的统计信息 |
db0 | db0的key的数量,以及带有生存期的key的数,平均存活时间 |
参考资料
初识redis
Weblogic 静默安装
发表于 更新于
WebSphere 安装
发表于 更新于
前言
为了代码适配Websphere,而搭建的环境
准备
- Linux CentOS7 系统
- WebSphere 8.5
安装IBM Installation Manager
下载IBM Installation Manager
基于IBM Installation Manager安装WebSphere,故下载
需要登录才可以下载,注册一个IBM ID就行
记录Linux(Red Hat) 系统安装Oracle数据库
环境
- Red Hat 6.5 操作系统
- Oracle11g 安装包
下载Oracle11g安装包
在官网。本文安装的是Oracle 11gR2。
安装准备(root用户下)
检查软件依赖包是否安装
1 | rpm -q binutils compat-libstdc++-33 elfutils-libelf elfutils-libelf-devel gcc gcc-c++ glibc glibc-common glibc-devel glibc-headers kernel-headers ksh libaio libaio-devel libgcc libgomp libstdc++ libstdc++-devel make numactl-devel sysstat unixODBC unixODBC-devel |
上面哪个包显示XXX is not installed,就使用下面的命令安装必要的RPM包
1 | yum install -y XXX |
Thread类
常用方法
对象方法
start方法:启动线程,调用start方法后,系统才会开启一个新的线程来执行用户定义的子任务,同时,会为线程分配资源。
run方法:用户不需要调用,当start方法启动线程并获得CPU执行时间后,便自动执行run方法体中的任务。(所以,继承Thread类必须重写run方法,在run方法中定义具体要执行的任务)。
isAlive方法:判断线程是否处于活动状态
sleep方法:交出CPU让线程睡眠,CPU可执行其他任务。
yield方法:该线程就会把CPU时间让掉,让其他或者自己的线程执行(也就是谁先抢到谁执行)。但是yield不能控制具体的交出CPU的时间,只能让相同优先级的线程获取CPU执行时间的机会。
注意,调用yield方法并不会让线程进入阻塞状态,而是让线程重回就绪状态,它只需要等待重新获取CPU执行时间,这一点是和sleep方法不一样的。join方法:让“主线程”等待“子线程”结束之后才能继续运行。实际上,调用join方法是调用了Object的wait方法,wait方法会让线程进入阻塞状态,并且会释放线程占有的锁,并交出CPU执行权限,所以join方法同样会让线程释放对一个对象持有的锁。
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
27
28
29
30
31
32
33
34
35
36public class MainThread extends Thread {
@Override
public void run() {
System.out.println(this.getName() + "开始执行");
for (int i = 0; i <= 10; i++) {
if (i == 3) {
SubThread st = new SubThread();
st.start();
try {
st.join();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
System.out.println(this.getName() + "执行完毕");
}
}
public class SubThread extends Thread {
@Override
public void run() {
System.out.println(this.getName() + "开始执行--->>>");
// 延时操作
for (int i = 0; i < 5; i++) {
System.out.println(this.getName() + "执行中--->>>");
}
System.out.println(this.getName() + "执行完成");
}
}
public class App {
public static void main(String[] args) throws InterruptedException {
MainThread mt = new MainThread();
mt.start();
}
}输出结果:
1
2
3
4
5
6
7
8
9Thread-0开始执行
Thread-1开始执行--->>>
Thread-1执行中--->>>
Thread-1执行中--->>>
Thread-1执行中--->>>
Thread-1执行中--->>>
Thread-1执行中--->>>
Thread-1执行完成
Thread-0执行完毕说明:MainThread线程中启动了SubThread线程,等待SubThread执行完,主线程MainThread继续执行
- interrupt方法:中断;
一、可以中断一个正处于阻塞状态的线程;
二、通过组合interrupt方法和isInterrupted()方法可停止正在运行的线程。