作者归档:norbert

关于norbert

我是一名软件工程师,你的来访是我的荣幸,非常感谢您的莅临,欢迎下次再来!!!

codis安装和注意事项

linux下三种安装方式

1.源码编译安装: https://github.com/CodisLabs/codis.git

2.二进制文件:https://github.com/CodisLabs/codis/releases

3.Docker 安装:docker build -f Dockerfile  -t codis-image .

启动相关组件命令(admin文件夹普通方式,scripts文件夹Docker方式)
./admin/codis-dashboard-admin.sh start

./admin/codis-proxy-admin.sh start

./admin/codis-server-admin.sh start

继续阅读


1 星2 星3 星4 星5 星 (2 人评价, 平均分: 5.00 / 5)
Loading...

docker常见命令

  • 容器生命周期管理 — docker [run|start|stop|restart|kill|rm|pause|unpause]
  • 容器操作运维 — docker [ps|inspect|top|attach|events|logs|wait|export|port]
  • 容器rootfs命令 — docker [commit|cp|diff]
  • 镜像仓库 — docker [login|pull|push|search]
  • 本地镜像管理 — docker [images|rmi|tag|build|history|save|import]
  • 其他命令 — docker [info|version]
  • 启动  — sudo systemctl start docker 或 service docker start

继续阅读


1 星2 星3 星4 星5 星 (2 人评价, 平均分: 5.00 / 5)
Loading...

Redis Info 命令

Redis Info 命令以一种易于理解和阅读的格式,返回关于 Redis 服务器的各种信息和统计数值。

通过给定可选的参数 section ,可以让命令只返回某一部分的信息:

  • server : 一般 Redis 服务器信息,包含以下域
    • redis_version : Redis 服务器版本
    • redis_git_sha1 : Git SHA1
    • redis_git_dirty : Git dirty flag
    • os : Redis 服务器的宿主操作系统
    • arch_bits : 架构(32 或 64 位)
    • multiplexing_api : Redis 所使用的事件处理机制
    • gcc_version : 编译 Redis 时所使用的 GCC 版本
    • process_id : 服务器进程的 PID
    • run_id : Redis 服务器的随机标识符(用于 Sentinel 和集群)
    • tcp_port : TCP/IP 监听端口
    • uptime_in_seconds : 自 Redis 服务器启动以来,经过的秒数
    • uptime_in_days : 自 Redis 服务器启动以来,经过的天数
    • lru_clock : 以分钟为单位进行自增的时钟,用于 LRU 管理

继续阅读


1 星2 星3 星4 星5 星 (2 人评价, 平均分: 5.00 / 5)
Loading...

MySQL自带数据库 information_schema介绍

nformation_schema提供了访问数据库元数据的方式,其中保存着关于MySQL服务器所维护的所有其他数据库的信息,如数据库名或表名,列的数据类型,或访问权限等。在INFORMATION_SCHEMA中,有些只读表,它们实际上是视图,而不是基本表,所以无法看到与之相关的任何文件。

information_schema数据库表说明:

SCHEMATA:提供了当前mysql实例中所有数据库的信息,show databases的结果取之此表。

TABLES:提供了关于数据库中的表的信息(包括视图),详细表述了某个表属于哪个schema,表类型,表引擎,创建时间等信息,show tables from schemaname的结果取之此表。

继续阅读


1 星2 星3 星4 星5 星 (4 人评价, 平均分: 4.75 / 5)
Loading...

go 部分标准库说明

以下是go 部分标准库说明

  • archive/tar 和 /zip-compress:压缩(解压缩)文件功能。
  • fmtiobufiopath/filepathflag:
    • fmt: 提供了格式化输入输出功能。
    • io: 提供了基本输入输出功能,大多数是围绕系统功能的封装。
    • bufio: 缓冲输入输出功能的封装。
    • path/filepath: 用来操作在当前系统中的目标文件名路径。
    • flag: 对命令行参数的操作。

    继续阅读


1 星2 星3 星4 星5 星 (2 人评价, 平均分: 5.00 / 5)
Loading...

nginx日志说明

log_format  main  ‘$http_x_forwarded_for $remote_addr [$time_local] [$host] “$request” ‘
                      ‘$status $body_bytes_sent “$http_referer” ‘
                      ‘”$http_user_agent” ‘
                      ‘”$request_time $upstream_response_time $upstream_addr”‘;
nginx日志配置指令详解
$remote_addr, $http_x_forwarded_for 记录客户端IP地址

继续阅读


1 星2 星3 星4 星5 星 (2 人评价, 平均分: 5.00 / 5)
Loading...

phpdoc标记说明和使用说明

为了便于大家对phpdoc的了解,整理了一下关于php一些方法注释的说明

标记 用途 描述
@abstract 抽象类的变量和方法
@access public, private or protected 文档的访问、使用权限. @access private 表明这个文档是被保护的。
@author 张三 <zhangsan@163.com> 文档作者
@copyright 名称 时间 文档版权信息

继续阅读


1 星2 星3 星4 星5 星 (3 人评价, 平均分: 5.00 / 5)
Loading...

在phpStrom中采用xdebug调试php配置说明

环境

开发工具:PHPStorm
PHP扩展:xdebug
Chrome浏览器扩展:xdebug helper

安装xdebug

官方网站:https://xdebug.org/download.php
windows的到xdebug官方网站下载对应版本的xdebug.dll。linux/mac可以直接使用pecl install。

继续阅读


1 星2 星3 星4 星5 星 (1 人评价, 平均分: 5.00 / 5)
Loading...

ASP.NET 性能监控工具和优化技巧

为了阐明准确甄别性能问题的重要性,下面列举了一些导致Web应用响应慢的可能问题排查点:

  • JavaScript响应慢;
  • 资源加载中的产生了阻塞;
  • 用户端存在代理;
  • DNS问题;
  • ISP或网络问题;
  • 交换机和路由器;
  • 负载均衡器;
  • 应用代码(包括第三方软件库);
  • HTTP服务器(例如有时是ASP.net或IIS);
  • 第三方服务,例如:支付服务提供商、地图服务提供商等;
  • 子系统,包括:SQL Server、Redis、Elasticsearch、Rabbit MQ等。

还可以罗列出更多的性能问题排查点,这取决于需处理系统的复杂度和规模。在如此之多的系统组件都可影响性能优化问题的情况下,如何才能确诊性能问题呢?答案概括为一个词:数据。你需要来自于每个系统组件的、相关且有意义的数据。对于Web应用响应慢的问题,数据可以证明每个系统组件是对问题是有影响的还是完全无关的。

继续阅读


1 星2 星3 星4 星5 星 (3 人评价, 平均分: 5.00 / 5)
Loading...

关于缓存穿透、缓存并发、缓存失效的问题

一、缓存穿透

我们在项目中使用缓存通常都是APP先检查缓存中是否存在,如果存在直接返回缓存内容,如果不存在就直接查询数据库然后再缓存查询结果返回。这个时候如果我们查询的某一个数据在缓存中一直不存在,就会造成每一次请求都查询DB,这样缓存就失去了意义,在流量大时,可能DB就挂掉了。

这个问题其实经常遇到,只是没有引起足够的重视,在我想来,如果碰到这样的问题可以在封装的缓存SET和GET部分增加个步骤,如果查询一个KEY不存在,就已这个KEY为前缀设定一个标识KEY;以后再查询该KEY的时候,先查询标识KEY,如果标识KEY存在,就返回一个协定好的非FALSH或者NULL值,然后APP做相应的处理,这样缓存层就不会被穿透。当然这个验证KEY的失效时间不能太长。

继续阅读


1 星2 星3 星4 星5 星 (3 人评价, 平均分: 5.00 / 5)
Loading...