项目github地址:bitcarmanlee easy-algorithm-interview-and-practice
欢迎大家star,留言,一起学习进步

1.redis安装

在ubuntu上安装redis非常简单

sudo apt-get install redis-server

安装完成后,Redis服务器会自动启动。

ps -aux | grep redus
redis    31087  0.0  0.0  56348 19084 ?        Ssl   8月27   1:00 /usr/bin/redis-server *:6379

2.访问redis

安装Redis服务器,会自动地一起安装Redis命令行客户端程序。
输入redis-cli命令以后就可以启动客户端程序了。

$ redis-cli
127.0.0.1:6379> 

3.查看redis相关信息

在redis-cli中输入info命令,可以查看到很多redis相关的指标

127.0.0.1:6379> info
# Server
redis_version:2.8.4
redis_git_sha1:00000000
redis_git_dirty:0
redis_build_id:645b61b5aa39f6b1
redis_mode:standalone
os:Linux 4.2.0-27-generic x86_64
arch_bits:64
multiplexing_api:epoll
gcc_version:4.8.4
process_id:31087
run_id:86c05b8353730892d696855760a8a503895d99d8
tcp_port:6379
uptime_in_seconds:191989
uptime_in_days:2
hz:10
lru_clock:1517536
config_file:/etc/redis/redis.conf# Clients
connected_clients:1
client_longest_output_list:0
client_biggest_input_buf:0
blocked_clients:0# Memory
used_memory:12588176
used_memory_human:12.01M
used_memory_rss:19542016
used_memory_peak:12608144
used_memory_peak_human:12.02M
used_memory_lua:33792
mem_fragmentation_ratio:1.55
mem_allocator:jemalloc-3.5.1
...

可以看出,info命令会输出很多相关的指标。挑选几个比较重要的指标参考一下

connected_clients:68  #连接的客户端数量
used_memory_rss_human:847.62M
used_memory_peak_human:794.42M
total_connections_received:619104 #服务器已接受的连接请求数量
instantaneous_ops_per_sec:1159 #服务器每秒钟执行的命令数量
instantaneous_input_kbps:55.85 #redis网络入口kps
instantaneous_output_kbps:3553.89 #redis网络出口kps
rejected_connections:0 #因为最大客户端数量限制而被拒绝的连接请求数量
expired_keys:0 #因为过期而被自动删除的数据库键数量
evicted_keys:0 #因为最大内存容量限制而被驱逐(evict)的键数量
keyspace_hits:0 #查找数据库键成功的次数
keyspace_misses:0 #查找数据库键失败的次数

然后重点关注一下内存相关的参数。

# Memory
used_memory: //数据占用了多少内存(字节)
used_memory_human: //数据占用了多少内存(带单位的,可读性好)
used_memory_rss:  //redis占用了多少内存
used_memory_peak: //占用内存的峰值(字节)
used_memory_peak_human: //占用内存的峰值(带单位的,可读性好)
used_memory_lua:  //lua引擎所占用的内存大小(字节)
mem_fragmentation_ratio:  //内存碎片率
mem_allocator: //redis内存分配器版本,在编译时指定的。有libc、jemalloc、tcmalloc这3种

4.jedis连接redis

项目中一般会用各种代码去操作redis,而redis也提供了各种语言的客户端接口。以java中常用的jedis为例看看怎么操作。
首先引入jedis的依赖

<dependency><groupId>redis.clients</groupId><artifactId>jedis</artifactId><version>2.9.0</version>
</dependency>
    public void test1() {Jedis jedis = new Jedis("xxx.xxx.xxx.xxx", 6379);jedis.set("key1", "jedis");String result = jedis.get("key1");System.out.println(result);jedis.close();}

上面的方式在每次使用时,构建Jedis对象即可。在Jedis对象构建好之后,Jedis底层会打开一条Socket通道和Redis服务进行连接。所以在使用完Jedis对象之后,需要调用Jedis.close()方法把连接关闭,不如会占用系统资源。当然,频繁的创建和销毁Jedis对象,对应用的性能是很大影响的,因为构建Socket的通道是很耗时的(类似数据库连接)。我们应该使用连接池来减少Socket对象的创建和销毁过程。

    public void test2() {JedisPoolConfig config = new JedisPoolConfig();config.setMaxIdle(8);config.setMaxTotal(18);JedisPool pool = new JedisPool(config, "xxx.xxx.xxx.xxx", 6379, 2000);Jedis jedis = pool.getResource();long start = System.currentTimeMillis();for(int i=0; i<100000; i++) {String key = "key" + i;String value = "jedis" + i;jedis.set(key, value);}long end = System.currentTimeMillis();System.out.println("cost time is: " + (end - start) / 1000.0 + "s");jedis.close();pool.close();}
}

上面就是采用连接池的方式进行操作。在本机测试,串行写入10w个key耗时为1.2s,还是比较快的。

redis安装与指标监控相关推荐

  1. Redis 压力测试 服务监控

    Redis 压力测试 & 服务监控 Redis 压力测试 Redis 安装成功后,会在 /usr/local/bin/目录下生成redis-benchmark压测工具.该工具模拟N个客户端同时 ...

  2. 002 第一季SpringBoot2核心技术-核心功能:配置文件、Web开发(原生组件)、数据访问、单元测试、指标监控、原理解析:@Value、命令行参数、手动获取bean、自定义starter

    三.核心技术之- ->核心功能 1. 配置文件 1.1 文件类型 1.1.1 properties 同以前的properties用法 优先级高于yml的方式. 1.1.2 yaml 1) 简介 ...

  3. wampserver下安装redis_金山云redis安装与连接

    云数据库Redis是金山云推出的即开即用.稳定可靠的在线缓存和键值存储服务.支持主从热备,提供自动容灾切换.实例监控.在线扩容等数据库服务. 云数据库Redis兼容Redis协议,通过内网访问.配置安 ...

  4. 服务器运维监控指标,运维体系~指标监控~Prometheus监控告警与日志

    一 Prometheus 入门 1.1 入门介绍 运维体系~指标监控 先来一张图,说明一下Prometheus监控相关的软件和知识点. 1: 首先要安装:Prometheus, 负责收集各种监控指标, ...

  5. Redis 安装部署介绍

    Redis 安装部署 •单点 •主从复制Replication •高可用 Sentinel •集群Cluster Redis Standalone 1:官方站点: https://redis.io下载 ...

  6. redis 安装简介

    Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库. Redis 与其他 key - value 缓存产品有以下三个特点: Redis支持数据的持久化,可以将内存中的 ...

  7. Redis安装及HA(High Availability)配置

    Redis是一种内存数据库,以KEY-VALUE(即键值对)的形式存储数据.这篇文章主要介绍的是Redis安装及配置,所以不对Redis本身作详细介绍了. 下载: http://redis.io/do ...

  8. 滴滴Logi-KafkaManager开源之路:一站式Kafka集群指标监控与运维管控平台

    导读 从2019年4月份计划开源到2021月1月14号完成开源,历时22个月终于修成正果,一路走来实属不易,没有前端.设计.产品,我们找实习生.合作方.外部资源支持,滴滴Kafka服务团队人员也几经调 ...

  9. 使用 Azure Monitor 快速构建 OS 内部指标监控平台

    Azure Monitor 可以用于收集.分析和处理来自云与本地环境的遥测数据的综合解决方案,支持将应用程序和服务的可用性最大化.帮助企业了解应用程序的性能,并主动识别影响应用程序及其所依赖资源的问题 ...

  10. Redis 安装使用以及原理攻略

    Redis介绍 什么是Redis? Redis是用C语言开发的一个开源的高性能键值对(key-value)内存数据库. 它提供五种数据类型来存储值:字符串类型.散列类型.列表类型.集合类型.有序集合类 ...

最新文章

  1. 使用WinHttp接口实现HTTP协议Get、Post和文件上传功能
  2. 【Android开发】:在任意目录执行NDK编译
  3. 排序算法 - 堆排序
  4. 建立循环双链表(尾插法)
  5. 获得jar包存放路径的方法
  6. 使用动态解析设置***
  7. Linux监控(添加自定义监控项,配置邮件告警)
  8. centos(linux) 下如何查看端口占用情况及杀死进程
  9. PAT乙级-1070. 结绳(25)
  10. 常用正则表达式(?i)忽略字母的大小写!
  11. 判断radio单选按钮是否选中
  12. hdu 2034 - 集合操作
  13. 异常:Invalid or unexpected token
  14. 人脸及脸部关键点检测控件
  15. 大数据案例--电信日志分析系统
  16. System Silencer – 离开时 让电脑自动开始任务
  17. visual studio code打开预览.md文件
  18. 冲激函数与冲激函数相乘与冲激函数对冲激函数卷积之间的区别
  19. 笔记本怎么用android,电脑上如何使用Android系统
  20. c语言 sysinfo_c语言函数库

热门文章

  1. Java并发编程之原子类
  2. 机器学习实战1-1 KNN电影分类遇到的问题
  3. Linux下的进程结构
  4. 如何交叉编译 linux kernel 内核
  5. Vmware 安装 Fedora 18 注意事项
  6. pandas 修改 DataFrame 列名 1
  7. [翻译] Canvas 不用写代码的动画
  8. MapXtreme2004的Web选择控件(三)
  9. 正则表达式功能以及应用
  10. Error inflating class android.webkit.WebView Caused by: ...: String resource ID #0x2040003