本文为我阅读了 redis参考手册 之后编写,注意 php_redis 和 redis-cli 的区别(主要是返回值类型和参数用法)

目录:

Server(服务器)
BGREWRITEAOF BGSAVE SAVE LASTSAVE DBSIZE SLAVEOF
FLUSHALL FLUSHDB SLOWLOG INFO CONFIG GET CONFIG SET


Server(服务器)

1、BGREWRITEAOF

Redis Bgrewriteaof 命令用于异步执行一个 AOF(AppendOnly File) 文件重写操作。重写会创建一个当前 AOF 文件的体积优化版本。

即使 Bgrewriteaof 执行失败,也不会有任何数据丢失,因为旧的 AOF 文件在 Bgrewriteaof 成功之前不会被修改。

注意:从 Redis 2.4 开始, AOF 重写由 Redis 自行触发, BGREWRITEAOF 仅仅用于手动触发重写操作。

语法:

redis 127.0.0.1:6379> BGREWRITEAOF

返回值: 反馈信息

可用版本:>= 1.0.0

时间复杂度:O(N), N 为要追加到 AOF 文件中的数据数量。

具体实例:

<?php
$redis = new redis();
$redis -> connect('127.0.0.1',6379);
$redis -> flushAll(); $redis -> set('job','programmer');
var_dump($redis -> bgrewriteaof()); // true ,会在 config['dir'] 所定义的目录下生产一个 dump.rdb 文件

2、BGSAVE

Redis Bgsave 命令用于在后台异步保存当前数据库的数据到磁盘

BGSAVE 命令执行之后立即返回 OK ,然后 Redis fork 出一个新子进程,原来的 Redis 进程(父进程)继续处理客户端请求,而子进程则负责将数据保存到磁盘,然后退出。

语法:

redis 127.0.0.1:6379> BGSAVE

返回值: 反馈信息

可用版本:>= 1.0.0

时间复杂度:O(N), N 为要保存到数据库中的 key 的数量。

具体实例:

<?php
$redis = new redis();
$redis -> connect('127.0.0.1',6379);
$redis -> flushAll(); $redis -> set('job','programmer');
var_dump($redis -> bgsave()); // true , 子进程负责保存数据到磁盘

3、SAVE

Redis Save 命令执行一个同步保存操作,将当前 Redis 实例的所有数据快照(snapshot)以 RDB 文件的形式保存到硬盘。

语法:

redis 127.0.0.1:6379> SAVE

返回值: 保存成功时返回 OK 。

可用版本:>= 1.0.0

时间复杂度:O(N), N 为要保存到数据库中的 key 的数量。

具体实例:

<?php
$redis = new redis();
$redis -> connect('127.0.0.1',6379);
$redis -> flushAll(); $redis -> set('job','programmer');
var_dump($redis -> save()); // true , 同步当前数据库的数据到磁盘

4、LASTSAVE

Redis Lastsave 命令返回最近一次 Redis 成功将数据保存到磁盘上的时间,以 UNIX 时间戳格式表示。

语法:

redis 127.0.0.1:6379> LASTSAVE

返回值: 字符串,文本行的集合。

可用版本:>= 1.0.0

时间复杂度:O(1)

具体实例:

<?php
$redis = new redis();
$redis -> connect('127.0.0.1',6379);
$redis -> flushAll(); $redis -> set('job','programmer');
var_dump($redis -> lastSave()); //

5、DBSIZE

dis Dbsize 命令用于返回当前数据库的 key 的数量。

语法:

redis 127.0.0.1:6379> DBSIZE

返回值:当前数据库的 key 的数量。

可用版本:>= 1.0.0

时间复杂度:O(1)

具体实例:

<?php
$redis = new redis();
$redis -> connect('127.0.0.1',6379);
$redis -> flushAll(); $redis -> set('job','programmer');
$redis -> set('favorite_fruit','cherry');
var_dump($redis -> dbSize()); //

6、SLAVEOF

Redis Slaveof 命令可以将当前服务器转变为指定服务器的从属服务器(slave server)。

(1)如果当前服务器已经是某个主服务器(master server)的从属服务器,那么执行 SLAVEOF host port 将使当前服务器停止对旧主服务器的同步,丢弃旧数据集,转而开始对新主服务器进行同步

(2)对一个从属服务器执行命令 SLAVEOF NO ONE 将使得这个从属服务器关闭复制功能,并从从属服务器转变回主服务器,原来同步所得的数据集不会被丢弃。

(3)利用『 SLAVEOF NO ONE 不会丢弃同步所得数据集』这个特性,可以在主服务器失败的时候,将从属服务器用作新的主服务器,从而实现无间断运行

语法:

redis 127.0.0.1:6379> SLAVEOF host port

返回值:总是返回 OK 。

可用版本:>= 1.0.0

时间复杂度:(1)SLAVEOF host port ,O(N), N 为要同步的数据数量。

      (2)SLAVEOF NO ONE , O(1) 。

具体实例:

<?php
$redis = new redis();
$redis -> connect('127.0.0.1',6379);
$redis -> flushAll(); $redis -> set('job','programmer');
$redis -> set('favorite_fruit','cherry');
var_dump($redis -> slaveof('127.0.0.1','6379')); // true , 当前服务器从属于 127.0.0.1 这台服务器
var_dump($redis -> slaveof('NO ONE')); // true ,当前服务器关闭复制功能,从从服务器变回主服务器,且数据不会丢失

7、FLUSHALL

Redis Flushall 命令用于清空整个 Redis 服务器的数据(删除所有数据库的所有 key )。

语法:

redis 127.0.0.1:6379> FLUSHALL

返回值:总是返回 OK 。

可用版本:>= 1.0.0

时间复杂度:尚未明确

具体实例:

<?php
$redis = new redis();
$redis -> connect('127.0.0.1',6379);
$redis -> flushAll(); // 清空整个 redis 服务器的数据

8、FLUSHDB

Redis Flushdb 命令用于清空当前数据库中的所有 key。

语法:

redis 127.0.0.1:6379> FLUSHDB

返回值:总是返回 OK 。

可用版本:>= 1.0.0

时间复杂度:O(1)

具体实例:

<?php
$redis = new redis();
$redis -> connect('127.0.0.1',6379);
$redis -> flushDB(); // 清空当前数据库中所有的 key

9、SLOWLOG

Redis Showlog 是 Redis 用来记录查询执行时间的日志系统

查询执行时间指的是不包括像客户端响应(talking)、发送回复等 IO 操作,而单单是执行一个查询命令所耗费的时间。

另外,slow log 保存在内存里面,读写速度非常快,因此你可以放心地使用它,不必担心因为开启 slow log 而损害 Redis 的速度。

语法:

redis 127.0.0.1:6379> SLOWLOG subcommand [argument]

返回值:取决于不同命令,返回不同的值。

可用版本:>= 2.2.12

时间复杂度:O(1)

具体实例:

<?php
$redis = new redis();
$redis -> connect('127.0.0.1',6379);
//$redis -> slowlog('reset'); // 清空满日子 var_dump($redis -> config('get','slowlog-log-slower-than')); // 1000 , 这是 redis 默认的时间,查询时间大于 1s 的会被慢日志记录下来
var_dump($redis -> config('get','slowlog-max-len')); // 128 , 能保存128 条记录,当记录数量大于 128 时,最旧的一条记录会被删除,最新的一条记录会被加入到 slowlog
var_dump($redis -> config('set','slowlog-log-slower-than',100)); // 修改时间
var_dump($redis -> config('get','*')); // 查询所有的配置项
var_dump($redis -> slowlog('len')); // int 1 ,查看当前慢日志的数量
var_dump($redis -> slowlog('get')); // 查看所有的慢日志
var_dump($redis -> slowlog('get',1)); // 查看指定数量的慢日志
//array (size=1)
// 0 =>
// array (size=4)
// 0 => int 765 // slowlog 唯一编号ID,日志的唯一 id 只有在 Redis 服务器重启的时候才会重置,这样可以避免对日志的重复处理(比如你可能会想在每次发现新的慢查询时发邮件通知你)。
// 1 => int 1494840849 // 查询的时间戳
// 2 => int 1000 // 查询耗时(微秒),如:本条命令查询耗时 1000 微秒
// 3 =>
// array (size=3)
// 0 => string 'CONFIG' (length=6) // 查询命令,完整命令为 SLOWLOG GET,slowlog最多保存前面的31个key和128字符
// 1 => string 'get' (length=3)
// 2 => string '*' (length=1)

10、INFO

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

语法:

redis 127.0.0.1:6379> INFO [section]

返回值:字符串,文本行的集合。

可用版本:>= 1.0.0

时间复杂度:O(1)

具体实例:

<?php
$redis = new redis();
$redis -> connect('127.0.0.1',6379); var_dump($redis -> info());
//array (size=83)
// 'redis_version' => string '3.0.503' (length=7)
// 'redis_git_sha1' => int 0
// 'redis_git_dirty' => int 0
// 'redis_build_id' => string 'd14575c6134f877' (length=15)
// 'redis_mode' => string 'standalone' (length=10)
// 'os' => string 'Windows ' (length=9)
// 'arch_bits' => int 64
// 'multiplexing_api' => string 'WinSock_IOCP' (length=12)
// 'process_id' => int 13628
// 'run_id' => string '7ddea1b46590dfaa48665b4ec199bf8c4ecb71c3' (length=40)
// 'tcp_port' => int 6379
// 'uptime_in_seconds' => int 612896
// 'uptime_in_days' => int 7
// 'hz' => int 10
// 'lru_clock' => int 1669527
// 'config_file' => int 0
// 'connected_clients' => int 1
// 'client_longest_output_list' => int 0
// 'client_biggest_input_buf' => int 0
// 'blocked_clients' => int 0
// 'used_memory' => int 692408
// 'used_memory_human' => string '676.18K' (length=7)
// 'used_memory_rss' => int 633888
// 'used_memory_peak' => int 13492080
// 'used_memory_peak_human' => string '12.87M' (length=6)
// 'used_memory_lua' => int 36864
// 'mem_fragmentation_ratio' => string '0.92' (length=4)
// 'mem_allocator' => string 'jemalloc-3.6.0' (length=14)
// 'loading' => int 0
// 'rdb_changes_since_last_save' => int 15
// 'rdb_bgsave_in_progress' => int 0
// 'rdb_last_save_time' => int 1494838761
// 'rdb_last_bgsave_status' => string 'ok' (length=2)
// 'rdb_last_bgsave_time_sec' => int 0
// 'rdb_current_bgsave_time_sec' => string '-1' (length=2)
// 'aof_enabled' => int 0
// 'aof_rewrite_in_progress' => int 0
// 'aof_rewrite_scheduled' => int 0
// 'aof_last_rewrite_time_sec' => int 0
// 'aof_current_rewrite_time_sec' => string '-1' (length=2)
// 'aof_last_bgrewrite_status' => string 'ok' (length=2)
// 'aof_last_write_status' => string 'ok' (length=2)
// 'total_connections_received' => int 998
// 'total_commands_processed' => int 8119
// 'instantaneous_ops_per_sec' => int 0
// 'total_net_input_bytes' => int 361449
// 'total_net_output_bytes' => int 191765
// 'instantaneous_input_kbps' => string '0.00' (length=4)
// 'instantaneous_output_kbps' => string '0.00' (length=4)
// 'rejected_connections' => int 0
// 'sync_full' => int 0
// 'sync_partial_ok' => int 0
// 'sync_partial_err' => int 0
// 'expired_keys' => int 22
// 'evicted_keys' => int 0
// 'keyspace_hits' => int 4220
// 'keyspace_misses' => int 135
// 'pubsub_channels' => int 0
// 'pubsub_patterns' => int 0
// 'latest_fork_usec' => int 29003
// 'migrate_cached_sockets' => int 0
// 'role' => string 'slave' (length=5)
// 'master_host' => string 'NO ONE' (length=6)
// 'master_port' => int 6379
// 'master_link_status' => string 'down' (length=4)
// 'master_last_io_seconds_ago' => string '-1' (length=2)
// 'master_sync_in_progress' => int 0
// 'slave_repl_offset' => int 1
// 'master_link_down_since_seconds' => string 'jd' (length=2)
// 'slave_priority' => int 100
// 'slave_read_only' => int 1
// 'connected_slaves' => int 0
// 'master_repl_offset' => int 0
// 'repl_backlog_active' => int 0
// 'repl_backlog_size' => int 1048576
// 'repl_backlog_first_byte_offset' => int 0
// 'repl_backlog_histlen' => int 0
// 'used_cpu_sys' => string '3.56' (length=4)
// 'used_cpu_user' => string '0.87' (length=4)
// 'used_cpu_sys_children' => string '0.00' (length=4)
// 'used_cpu_user_children' => string '0.00' (length=4)
// 'cluster_enabled' => int 0
// 'db0' => string 'keys=2,expires=0,avg_ttl=0' (length=26)

11、CONFIG GET

Redis Config Get 命令用于获取 redis 服务的配置参数。

在 Redis 2.4 版本中, 有部分参数没有办法用 CONFIG GET 访问,但是在最新的 Redis 2.6 版本中,所有配置参数都已经可以用 CONFIG GET 访问了。

语法:

redis 127.0.0.1:6379> CONFIG GET parameter

返回值:给定配置参数的值。

可用版本:>= 2.0.0

具体实例:

<?php
$redis = new redis();
$redis -> connect('127.0.0.1',6379); var_dump($redis -> config('get','requirepass')); // string '' , 获取指定的配置项
var_dump($redis -> config('get','*')); // 获取所有的配置项
//array (size=65)
// 'dbfilename' => string 'dump.rdb' (length=8)
// 'requirepass' => string '' (length=0)
// 'masterauth' => string '' (length=0)
// 'unixsocket' => string '' (length=0)
// 'logfile' => string '' (length=0)
// 'pidfile' => string '/var/run/redis.pid' (length=18)
// 'maxmemory' => string '0' (length=1)
// 'maxmemory-samples' => string '5' (length=1)
// 'timeout' => string '0' (length=1)
// 'tcp-keepalive' => string '0' (length=1)
// 'auto-aof-rewrite-percentage' => string '100' (length=3)
// 'auto-aof-rewrite-min-size' => string '67108864' (length=8)
// 'hash-max-ziplist-entries' => string '512' (length=3)
// 'hash-max-ziplist-value' => string '64' (length=2)
// 'list-max-ziplist-entries' => string '512' (length=3)
// 'list-max-ziplist-value' => string '64' (length=2)
// 'set-max-intset-entries' => string '512' (length=3)
// 'zset-max-ziplist-entries' => string '128' (length=3)
// 'zset-max-ziplist-value' => string '64' (length=2)
// 'hll-sparse-max-bytes' => string '3000' (length=4)
// 'lua-time-limit' => string '5000' (length=4)
// 'slowlog-log-slower-than' => string '100' (length=3)
// 'latency-monitor-threshold' => string '0' (length=1)
// 'slowlog-max-len' => string '128' (length=3)
// 'port' => string '6379' (length=4)
// 'tcp-backlog' => string '511' (length=3)
// 'databases' => string '16' (length=2)
// 'repl-ping-slave-period' => string '10' (length=2)
// 'repl-timeout' => string '60' (length=2)
// 'repl-backlog-size' => string '1048576' (length=7)
// 'repl-backlog-ttl' => string '3600' (length=4)
// 'maxclients' => string '10000' (length=5)
// 'watchdog-period' => string '0' (length=1)
// 'slave-priority' => string '100' (length=3)
// 'min-slaves-to-write' => string '0' (length=1)
// 'min-slaves-max-lag' => string '10' (length=2)
// 'hz' => string '10' (length=2)
// 'cluster-node-timeout' => string '15000' (length=5)
// 'cluster-migration-barrier' => string '1' (length=1)
// 'cluster-slave-validity-factor' => string '10' (length=2)
// 'repl-diskless-sync-delay' => string '5' (length=1)
// 'cluster-require-full-coverage' => string 'yes' (length=3)
// 'no-appendfsync-on-rewrite' => string 'no' (length=2)
// 'slave-serve-stale-data' => string 'yes' (length=3)
// 'slave-read-only' => string 'yes' (length=3)
// 'stop-writes-on-bgsave-error' => string 'yes' (length=3)
// 'daemonize' => string 'no' (length=2)
// 'rdbcompression' => string 'yes' (length=3)
// 'rdbchecksum' => string 'yes' (length=3)
// 'activerehashing' => string 'yes' (length=3)
// 'repl-disable-tcp-nodelay' => string 'no' (length=2)
// 'repl-diskless-sync' => string 'no' (length=2)
// 'aof-rewrite-incremental-fsync' => string 'yes' (length=3)
// 'aof-load-truncated' => string 'yes' (length=3)
// 'appendonly' => string 'no' (length=2)
// 'dir' => string 'D:\redis-3.0.503' (length=16)
// 'maxmemory-policy' => string 'noeviction' (length=10)
// 'appendfsync' => string 'everysec' (length=8)
// 'save' => string 'jd 3600 jd 300 jd 60' (length=20)
// 'loglevel' => string 'notice' (length=6)
// 'client-output-buffer-limit' => string 'normal 0 0 0 slave 268435456 67108864 60 pubsub 33554432 8388608 60' (length=67)
// 'unixsocketperm' => string '0' (length=1)
// 'slaveof' => string 'NO ONE 6379' (length=11)
// 'notify-keyspace-events' => string '' (length=0)
// 'bind' => string '' (length=0)

12、CONFIG SET

Redis Config Set 命令可以动态地调整 Redis 服务器的配置(configuration)而无须重启。

你可以使用它修改配置参数,或者改变 Redis 的持久化(Persistence)方式。

语法:

redis 127.0.0.1:6379> CONFIG Set parameter value

返回值:当设置成功时返回 OK ,否则返回一个错误。

可用版本:>= 2.0.0

具体实例:

<?php
$redis = new redis();
$redis -> connect('127.0.0.1',6379); var_dump($redis -> config('get','slowlog-log-slower-than')); //
var_dump($redis -> config('set','slowlog-log-slower-than',100)); // true
var_dump($redis -> config('get','slowlog-log-slower-than')); //

 如有转载,请注明出处:http://www.cnblogs.com/chrdai/p/6857518.html

redis 在 php 中的应用(Server[ 服务器] 篇)的更多相关文章

  1. redis 在 php 中的应用(List篇)

    本文为我阅读了 redis参考手册 之后编写,注意 php_redis 和 redis-cli 的区别(主要是返回值类型和参数用法) 目录: List(列表) LPUSH LPUSHX RPUSH R ...

  2. redis 在 php 中的应用(Set篇)

    本文为我阅读了 redis参考手册 之后编写,注意 php_redis 和 redis-cli 的区别(主要是返回值类型和参数用法) Redis的 Set 是 string 类型的无序集合.集合成员是 ...

  3. redis 在 php 中的应用(Sorted-set篇)

    本文为我阅读了 redis参考手册 之后编写,注意 php_redis 和 redis-cli 的区别(主要是返回值类型和参数用法) Redis 有序集合和集合一样也是string类型元素的集合,且不 ...

  4. redis 在 php 中的应用(Hash篇)

    本文为我阅读了 redis参考手册 之后结合 博友的博客 编写,注意 php_redis 和 redis-cli 的区别(主要是返回值类型和参数用法) Redis hash 是一个string类型的f ...

  5. redis 在 php 中的应用(string篇)

    本文为我阅读了 redis参考手册 之后结合 博友的博客 编写,注意 php_redis 和 redis-cli 的区别(主要是返回值类型和参数用法) 目录: string(字符串) SET SETN ...

  6. redis 在 php 中的应用(key篇)

    本文为我阅读了 redis参考手册 之后结合 博友的博客 编写,注意 php_redis 和 redis-cli 的区别(主要是返回值类型和参数用法) 目录: KEY(键) DEL           ...

  7. redis 在 php 中的应用

    一.redis 在 php 中的应用(Key篇) 二.redis 在 php 中的应用(String篇) 三.redis 在 php 中的应用(Hash篇) 四.redis 在 php 中的应用(Li ...

  8. Redis 在新浪微博中的应用

    Redis 在新浪微博中的应用 Redis简介 1. 支持5种数据结构 支持strings, hashes, lists, sets, sorted setsstring是很好的存储方式,用来做计数存 ...

  9. Redis在PHP中的基本使用案例

    下载http://www.oschina.net/p/redis 解压后里面有:lib 源文件 .examples 例子.test测试 将lib目录拷贝到你的项目中,就可以开始你的predis操作了. ...

随机推荐

  1. window系统下远程部署Tomcat

    远程访问windows系统,在windows系统上启动tomcat,发布项目.1.拨VPN2.远程桌面连接,cmd --> mstsc 回车,弹出远程桌面连接窗口 3.输入计算机IP:132.2 ...

  2. 配置Sublime Text2的python运行环境(Sublime Text 3也类似)

    1. 前言 用Sublime Text 2 配置Python运用环境,有简单配置还有像IDLE一样的配置,本文分成第一部分和第二部分.   2. 配置 第一部分(简单配置)   1.只需要打开Pref ...

  3. PYTHON-面向对象-练习-王者荣耀 对砍游戏

    # 王者荣耀 对砍游戏# 两个英雄可以对砍 如果血量小于等于0 就GG# 所需的对象# 英雄对象""" 亚瑟 属性 类型 血量 名称 技能 Q 跳起来给你一刀 伤害50 ...

  4. Makefile 隐含规则,模式规则,常见变量

     隐含规则复杂的Makefile一般会使用隐含规则内的变量来简化编译处理.将隐含规则中使用的变量分成两种:一种是命令相关的,如“CC”:一种是参数相关的,如“CFLAGS”.这些变量都是大写表示. 常 ...

  5. 目标检测-yolo2

    转载自:http://blog.csdn.net/qq_34784753/article/details/78825493 对于现在的最好的检测系统来说,yolo_v1 的问题主要出现在两方面,也就是 ...

  6. django----Form扩展

    用第二种方式需要加上下面的这个: 三.判断用户民是不存在,存在就不添加了 from django.core.exceptions import ValidationError initial  修改时 ...

  7. jQuery.TreeView插件实现树状导航(十三)

    一:jQuery.TreeView插件简介 该插件的特点: 1.支持静态的树,即一次性将全部数据加载到客户端. 2.支持异步树,即一次只加载一级或若干级节点,子节点可以异步加载数据. 3.支持节点级联 ...

  8. Could not get lock /var/lib/apt/lists/lock - open (11: Resource temporarily unavailable)

    今天在对 Ubuntu 进行更新源的时候,突然出现下列错误(为了省事,更新前直接切换了 root 用户) 上网查了一下,网上解释说应该是之前那个更新被强制取消的问题,进程仍然还在.用这个命令查看一下: ...

  9. Ubuntu 16.04 LTS 搭建ftp服务器

    其实我之前搭建好了,但是最近我上来看好像跟没搭建一样呢,于是我从新搭建一遍? 我的ubuntu版本: cat /etc/issue Ubuntu 16.04 LTS \n \l 1.安装vsftpd( ...

  10. [转] equals和==的区别小结

    ==: == 比较的是变量(栈)内存中存放的对象的(堆)内存地址,用来判断两个对象的地址是否相同,即是否是指相同一个对象.比较的是真正意义上的指针操作. 1.比较的是操作符两端的操作数是否是同一个对象 ...