本文为我阅读了 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. H3C SNMP OID

    有两种mib-style [1]老些的设备 cpu 使用率OID: .1.3.6.1.4.1.25506.2.6.1.1.1.1.6.slot  内存使用率OID: .1.3.6.1.4.1.2550 ...

  2. 【转】Oracle 11g安装图文攻略

    一.Oracle 下载     注意Oracle分成两个文件,下载完后,将两个文件解压到同一目录下即可. 路径名称中,最好不要出现中文,也不要出现空格等不规则字符. 二.Oracle安装     1. ...

  3. Windows10 + Visual Studio 2017 + CMake +OpenCV编译、开发环境配置及测试

    由于最近需要使用OpenCV,本人需要在自己的PC上使用OpenCV,因此最近一直在研究如何使用Visual Studio编译OpenCV源代码并搭建开发环境,折腾了很长时间,查阅了很多相关资料,终于 ...

  4. js几种创建对象的方式

    javascript是一种“基于prototype的面向对象语言“,与java有非常大的区别,无法通过类来创建对象.那么,既然是面象对象的,如何来创建对象呢? 一.通过”字面量“方式创建. 方法:将成 ...

  5. 在vue-cli中引用公共过滤器filter

    在实际项目开发中,在某一组件中声明的全局过滤器Vue.filter并不能在其他组件中使用,所以,我认为只要调用两次以上或者可能会被调用两次以上的过滤器,就应该写入统一个过滤器文件中,方便统一调用.下面 ...

  6. OI中坑点总结

    以下是我个人OI生涯中遇到的坑点的一个小总结,可能是我太菜了,总是掉坑里,请大佬勿喷 1,多重背包的转移的循环顺序 //默认每个物品体积为一(不想打码……) //dp[i]表示占用背包容量i所能获得的 ...

  7. hdu4122

    题目很长,有点恶心,但实际上是个单调队列 没搞出来,题解 https://blog.csdn.net/lvshubao1314/article/details/46910271 #include< ...

  8. jmeter常用组件

    测试计划(Test Plan) 是使用 JMeter 进行测试的起点,它是其它 JMeter 测试元件的容器. 线程组(Thread Group) 代表一定数量的并发用户,它可以用来模拟并发用户发送请 ...

  9. Redis、RabbitMQ、Memcached

    知识目录: Memcached Redis RabbitMQ Memcached 回到顶部 Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载.它通过在内存中 ...

  10. 关于git中Pageant开机启动且自动关联秘钥

    Pageant在git中主要负责和服务器端进行身份验证,但是我们每次在启动Pageant后都需要手动的加载秘钥文件,这其实是一个比较烦的过程,我们怎么能够使其自动的完成呢? 一.Pageant开机启动 ...