项目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. 重磅:USNews2021世界大学排行榜出炉!清华首登亚洲第一
  2. 通用电气Predix改革客户运作的三大用途
  3. jquery validate常用方法及注意问题
  4. 《北妹》:中国七零后作家的一次火山喷发(答记者问)
  5. JavaScript MSN 弹出消息框
  6. 传奇落幕!杰克·韦尔奇给管理者的10句箴言,句句经典!
  7. c 控制mysql数据导出_MySql数据库导入导出的三种方式
  8. 机器学习基础:K近邻算法(Machine Learning Fundamentals: KNN)
  9. 欧姆龙plc多轴伺服控制程序fb
  10. MMORPG大型游戏设计与开发(构架)
  11. C语言文件加密解密软件
  12. cs61a 2018spr hw05 的一个题目
  13. 鹰式价差matlab,期权的价差(2):比例价差、圣诞树型价差
  14. 齐治运维堡垒机后台命令执行漏洞
  15. 同时开发两款H5的ARPG游戏的设计和实践
  16. 高效上网教程---资源软件搜索技巧(搜索好用软件或者app去哪些网站)
  17. ipoo3可以用鸿蒙,真正全网通!iQOO 3支持双模六频5G,出国也能用
  18. VirtualBox下Centos7安装增强功能
  19. Driller分析与改进(一)
  20. 迈向更灵活,贝壳 OLAP 平台架构演进历程

热门文章

  1. 1042 Shuffling Machine
  2. 限流的简单使用及学习
  3. in-band(带内) and out-of-band(带外) management
  4. [译] REST API 已死,GraphQL 长存
  5. 几个Cache方案的比较
  6. 解决eclipse打开报错:failed to create the java virtual ma
  7. awstats日志分析小结
  8. Windows与Linux比较:相似与不同
  9. Gartner:市场对5G判断有三点误区,2022年前不会有大规模5G商用案例
  10. OC 自定义 get/set 方法注意点