Redis概要梳理概念篇

首先,文章大部分内容来源于菜鸟教程,在这里感谢!
菜鸟教程
我是对其内容作了一个归纳,以及个人的一些理解。

1.Redis 简介

Redis 是完全开源免费的,遵守BSD协议,是一个高性能的key-value数据库。
Redis 与其他 key - value 缓存产品有以下三个特点:
• Redis支持数据的持久化,可以将内存中的数据保存在磁盘中,重启的时候可以再次加载进行使用。
• Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,zset,hash等数据结构的存储。
• Redis支持数据的备份,即master-slave模式的数据备份。

//一开始看到这个简介简直一头雾水,键值对的存储方式数据库,数据库不是以表的形式存储的吗,虽然字段与值同样可以说是键值对,但是,我们要知道Redis是一个基于内存存储的缓存数据库,我们也知道,论访问速度,CPU>内存>存储。

Redis 优势
• 性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。
• 丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。
• 原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。
丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

Redis的缺点也很明显:仅提供最基本的hash set, list, sorted set等基于数据类型,不分表,没有schema,没有索引,没有外键,缺少int/date等基本数据类型,多条件查询需要通过集合内联(sinter,zinterstore)和连接间接实现,操作不便,开发效率低,可维护性不佳;
  因此一般不将其视为完整的数据库单独使用,将redis作为高速缓存和session状态存储层,然后再与其他数据库搭配使用。

  Redis本来就是内存数据库,用来当做计数器,队列等的确很不错,性能高效。Redis是key-value数据库,面对key的内存搜索,优势明显。既然是缓存数据库,那么理所当然我们可以想到存储个别访问量大的问题,其余信息并不使用Redis。

Redis与其他key-value存储有什么不同?
• Redis有着更为复杂的数据结构并且提供对他们的原子性操作,这是一个不同于其他数据库的进化路径。Redis的数据类型都是基于基本数据结构的同时对程序员透明,无需进行额外的抽象。
• Redis运行在内存中但是可以持久化到磁盘,所以在对不同数据集进行高速读写时需要权衡内存,因为数据量不能大于硬件内存。在内存数据库方面的另一个优点是,相比在磁盘上相同的复杂的数据结构,在内存中操作起来非常简单,这样Redis可以做很多内部复杂性很强的事情。同时,在磁盘格式方面他们是紧凑的以追加的方式产生的,因为他们并不需要进行随机访问。

2.Redis 安装

Redis安装比较简单,这里就不详细说了,只简单说一下流程。
先看看redis的文件目录结构:

文件名简要
redis-benchmark.exe基准测试
redis-check-aof.exeaof
redischeck-dump.exedump
redis-cli.exe客户端
redis-server.exe服务器
redis.windows.conf配置文件
Windows:
  1. 下载Redis(下载地址:redis)
  2. 利用CD命令切换至Redis目录下
  3. 修改配置文件,编辑redis.windows.conf文件,修改的是 maxmemory , bytes是字节,请自行换算,一般为maxmemory 1024000000。
  4. 设置redis的密码:找到# requirepass foobared 改为 requirepass 我的密码 ,本机测试可不设置。
  5. 运行:redis-server.exe redis.windows.conf(可选加 –maxmemory 200M)
  6. 再开一个窗口,切换到redis目录下运行 redis-cli.exe -h 127.0.0.1 -p 6379
  7. 如果设置密码,会要求 auth 密码
  8. 添加至windows服务:redis-server –service-install redis.windows.conf –loglevel verbose
Linux:
  1. 下载http://redis.io/download
  2. 解压至任一目录:tar xzf redis-2.8.17.tar.gz
  3. 编译并安装
    cd redis-2.8.17
    make
    cd src
    make install PREFIX=/usr/local/redis

  4. 如果make编译失败,考虑是否安装GCC
    yum install gcc

  5. 查看GCC安装是否成功
    rpm -qa |grep gcc

  6. 将配置文件移动到redis安装目录下
    mv redis.conf /usr/local/redis/etc

  7. 启动服务、配置
    /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf
    (第一个是启动redis服务器)
    (第二个是启动服务器所需的配置)

  8. 默认情况,Redis不是在后台运行,我们需要把redis放在后台运行
    vim /usr/local/redis/etc/redis.conf
    将daemonize的值改为yes

  9. 让redis开机自启
    vim /etc/rc.local
    加入
    /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis-conf

  10. 客户端链接
    /usr/local/redis/bin/redis-cli

  11. 停止服务
    /usr/local/redis/bin/redis-cli shutdown
    或者
    pkill redis-server

3.Redis 配置

命令作用
CONFIG GET CONFIG_SETTING_NAME整体格式,前面是查询命令,后面是查询的地方
CONFIG GET loglevel查询 loglevel 的配置信息
CONFIG GET *查询所有
CONFIG SET CONFIG_SETTING_NAME NEW_CONFIG_VALUE修改配置信息的语法
CONFIG SET loglevel “notice”修改 loglevel 为 notice

参数说明:
redis.conf 配置项说明如下:

序号作用配置信息
1.Redis默认不是以守护进程的方式运行,可以通过该配置项修改,使用yes启用守护进程daemonize no
2.当Redis以守护进程方式运行时,Redis默认会把pid写入/var/run/redis.pid文件,可以通过pidfile指定pidfile /var/run/redis.pid
3.指定Redis监听端口,默认端口为6379,作者在自己的一篇博文中解释了为什么选用6379作为默认端口,因为6379在手机按键上MERZ对应的号码,而MERZ取自意大利歌女Alessia Merz的名字port 6379
4.绑定的主机地址bind 127.0.0.1
5.当 客户端闲置多长时间后关闭连接,如果指定为0,表示关闭该功能timeout 300
6.指定日志记录级别,Redis总共支持四个级别:debug、verbose、notice、warning,默认为verboseloglevel verbose
7.日志记录方式,默认为标准输出,如果配置Redis为守护进程方式运行,而这里又配置为日志记录方式为标准输出,则日志将会发送给/dev/nulllogfile stdout
8.设置数据库的数量,默认数据库为0,可以使用SELECT 命令在连接上指定数据库iddatabases 16
9.指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合save <\seconds> <\changes>
Redis默认配置文件中提供了三个条件:save 900 1
save 300 10
save 60 10000
分别表示900秒(15分钟)内有1个更改,300秒(5分钟)内有10个更改以及60秒内有10000个更改。
10.指定存储至本地数据库时是否压缩数据,默认为yes,Redis采用LZF压缩,如果为了节省CPU时间,可以关闭该选项,但会导致数据库文件变的巨大rdbcompression yes
11.指定本地数据库文件名,默认值为dump.rdbdbfilename dump.rdb
12.指定本地数据库存放目录dir ./
13.设置当本机为slav服务时,设置master服务的IP地址及端口,在Redis启动时,它会自动从master进行数据同步slaveof
14.当master服务设置了密码保护时,slav服务连接master的密码masterauth
15.设置Redis连接密码,如果配置了连接密码,客户端在连接Redis时需要通过AUTH 命令提供密码,默认关闭requirepass foobared
16.设置同一时间最大客户端连接数,默认无限制,Redis可以同时打开的客户端连接数为Redis进程可以打开的最大文件描述符数,如果设置 maxclients 0,表示不作限制。当客户端连接数到达限制时,Redis会关闭新的连接并向客户端返回max number of clients reached错误信息maxclients 128
17.指定Redis最大内存限制,Redis在启动时会把数据加载到内存中,达到最大内存后,Redis会先尝试清除已到期或即将到期的Key,当此方法处理 后,仍然到达最大内存设置,将无法再进行写入操作,但仍然可以进行读取操作。Redis新的vm机制,会把Key存放内存,Value会存放在swap区maxmemory
18.指定是否在每次更新操作后进行日志记录,Redis在默认情况下是异步的把数据写入磁盘,如果不开启,可能会在断电时导致一段时间内的数据丢失。因为 redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认为noappendonly no
19.指定更新日志文件名,默认为appendonly.aofappendfilename appendonly.aof
20.指定更新日志条件,共有3个可选值:no:表示等操作系统进行数据缓存同步到磁盘(快)
always:表示每次更新操作后手动调用fsync()将数据写到磁盘(慢,安全)
everysec:表示每秒同步一次(折衷,默认值)
appendfsync everysec
21.指定是否启用虚拟内存机制,默认值为no,简单的介绍一下,VM机制将数据分页存放,由Redis将访问量较少的页即冷数据swap到磁盘上,访问多的页面由磁盘自动换出到内存中(在后面的文章我会仔细分析Redis的VM机制)vm-enabled no
22.虚拟内存文件路径,默认值为/tmp/redis.swap,不可多个Redis实例共享vm-swap-file /tmp/redis.swap
23.将所有大于vm-max-memory的数据存入虚拟内存,无论vm-max-memory设置多小,所有索引数据都是内存存储的(Redis的索引数据 就是keys),也就是说,当vm-max-memory设置为0的时候,其实是所有value都存在于磁盘。默认值为0vm-max-memory 0
24.Redis swap文件分成了很多的page,一个对象可以保存在多个page上面,但一个page上不能被多个对象共享,vm-page-size是要根据存储的 数据大小来设定的,作者建议如果存储很多小对象,page大小最好设置为32或者64bytes;如果存储很大大对象,则可以使用更大的page,如果不 确定,就使用默认值vm-page-size 32
25.设置swap文件中的page数量,由于页表(一种表示页面空闲或使用的bitmap)是在放在内存中的,,在磁盘上每8个pages将消耗1byte的内存。vm-pages 134217728
26.设置访问swap文件的线程数,最好不要超过机器的核数,如果设置为0,那么所有对swap文件的操作都是串行的,可能会造成比较长时间的延迟。默认值为4vm-max-threads 4
27.设置在向客户端应答时,是否把较小的包合并为一个包发送,默认为开启glueoutputbuf yes
28.指定在超过一定的数量或者最大的元素超过某一临界值时,采用一种特殊的哈希算法hash-max-zipmap-entries 64
hash-max-zipmap-value 512
29.指定是否激活重置哈希,默认为开启(后面在介绍Redis的哈希算法时具体介绍)activerehashing yes
30.指定包含其它的配置文件,可以在同一主机上多个Redis实例之间使用同一份配置文件,而同时各个实例又拥有自己的特定配置文件include /path/to/local.conf

4.Redis数据类型

Redis 数据类型:之前说了,Redis与传统的数据库不同,他对数据的类型有以下的几种:
Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。

类型名称信息
String(字符串)string是redis最基本的类型,你可以理解成与Memcached一模一样的类型,一个key对应一个value。string类型是二进制安全的。意思是redis的string可以包含任何数据。比如jpg图片或者序列化的对象 。string类型是Redis最基本的数据类型,一个键最大能存储512MB。
redis 127.0.0.1:6379> SET name “runoob”
redis 127.0.0.1:6379> GET name
在以上实例中我们使用了 Redis 的 SET 和 GET 命令。键为 name,对应的值为 runoob。注意:一个键最大能存储512MB。
Hash(哈希)Redis hash 是一个键值(key=>value)对集合。Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。
redis> HMSET myhash field1 “Hello” field2 “World”
redis> HGET myhash field1
redis> HGET myhash field2
以上实例中 hash 数据类型存储了包含用户脚本信息的用户对象。 实例中我们使用了 Redis HMSET, HGETALL 命令,user:1为键值。每个 hash 可以存储 232 -1 键值对(40多亿)。
List(列表)Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。
redis 127.0.0.1:6379> lpush runoob redis
redis 127.0.0.1:6379> lpush runoob mongodb
redis 127.0.0.1:6379> lpush runoob rabitmq
redis 127.0.0.1:6379> lrange runoob 0 10
列表最多可存储 232 - 1 元素 (4294967295, 每个列表可存储40多亿)。
Set(集合)Redis的Set是string类型的无序集合。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。
sadd 命令添加一个string元素到,key对应的set集合中,成功返回1,如果元素已经在集合中返回0,key对应的set不存在返回错误。
sadd key memberredis 127.0.0.1:6379> sadd runoob redis
redis 127.0.0.1:6379> sadd runoob mongodb
redis 127.0.0.1:6379> sadd runoob rabitmq
redis 127.0.0.1:6379> sadd runoob rabitmq
注意:以上实例中 rabitmq 添加了两次,但根据集合内元素的唯一性,第二次插入的元素将被忽略。集合中最大的成员数为 232 - 1(4294967295, 每个集合可存储40多亿个成员)。
zset(sorted set:有序集合)Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。
zadd 命令添加元素到集合,元素在集合中存在则更新对应score
zadd key score memberredis 127.0.0.1:6379> zadd runoob 0 redis
redis 127.0.0.1:6379> zadd runoob 0 mongodb
redis 127.0.0.1:6379> zadd runoob 0 rabitmq
redis 127.0.0.1:6379> zadd runoob 0 rabitmq

5.Redis命令

Redis的命令比较多,包括各个数据类型的命令和一些常见的命令

5.1KEY

Redis keys 命令
下表给出了与 Redis 键相关的基本命令:

序号命令描述
1DEL key该命令用于在 key 存在时删除 key。
2DUMP key序列化给定 key ,并返回被序列化的值。
3EXISTS key检查给定 key 是否存在。
4EXPIRE key seconds为给定 key 设置过期时间。
5EXPIREAT key timestampEXPIREAT 的作用和 EXPIRE 类似,都用于为 key 设置过期时间。 不同在于 EXPIREAT 命令接受的时间参数是 UNIX 时间戳(unix timestamp)。
6PEXPIRE key milliseconds设置 key 的过期时间以毫秒计。
7PEXPIREAT key milliseconds-timestamp设置 key 过期时间的时间戳(unix timestamp) 以毫秒计
8KEYS pattern查找所有符合给定模式( pattern)的 key 。
9MOVE key db将当前数据库的 key 移动到给定的数据库 db 当中。
10PERSIST key移除 key 的过期时间,key 将持久保持。
11PTTL key以毫秒为单位返回 key 的剩余的过期时间。
12TTL key以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。
13RANDOMKEY从当前数据库中随机返回一个 key 。
14RENAME key newkey修改 key 的名称
15RENAMENX key newkey仅当 newkey 不存在时,将 key 改名为 newkey 。
16TYPE key返回 key 所储存的值的类型。

5.2Redis 字符串(String)

下表列出了常用的 redis 字符串命令:

序号命令描述
1SET key value设置指定 key 的值
2GET key获取指定 key 的值。
3GETRANGE key start end返回 key 中字符串值的子字符
4GETSET key value将给定 key 的值设为 value ,并返回 key 的旧值(old value)。
5GETBIT key offset对 key 所储存的字符串值,获取指定偏移量上的位(bit)。
6MGET key1 [key2..]获取所有(一个或多个)给定 key 的值。
7SETBIT key offset value对 key 所储存的字符串值,设置或清除指定偏移量上的位(bit)。
8SETEX key seconds value将值 value 关联到 key ,并将 key 的过期时间设为 seconds (以秒为单位)。
9SETNX key value只有在 key 不存在时设置 key 的值。
10SETRANGE key offset value用 value 参数覆写给定 key 所储存的字符串值,从偏移量 offset 开始。
11STRLEN key返回 key 所储存的字符串值的长度。
12MSET key value [key value …]同时设置一个或多个 key-value 对。
13MSETNX key value [key value …]同时设置一个或多个 key-value 对,当且仅当所有给定 key 都不存在。
14PSETEX key milliseconds value这个命令和 SETEX 命令相似,但它以毫秒为单位设置 key 的生存时间,而不是像 SETEX 命令那样,以秒为单位。
15INCR key将 key 中储存的数字值增一。
16INCRBY key increment将 key 所储存的值加上给定的增量值(increment) 。
17INCRBYFLOAT key increment将 key 所储存的值加上给定的浮点增量值(increment) 。
18DECR key将 key 中储存的数字值减一。
19DECRBY key decrementkey 所储存的值减去给定的减量值(decrement) 。
20APPEND key value如果 key 已经存在并且是一个字符串, APPEND 命令将 指定value 追加到改 key 原来的值(value)的末尾。

5.3Redis 哈希(Hash)

下表列出了 redis hash 基本的相关命令:

序号命令描述
1HDEL key field1 [field2]删除一个或多个哈希表字段
2HEXISTS key field查看哈希表 key 中,指定的字段是否存在。
3HGET key field获取存储在哈希表中指定字段的值。
4HGETALL key
5HINCRBY key field increment为哈希表 key 中的指定字段的整数值加上增量 increment 。
6HINCRBYFLOAT key field increment为哈希表 key 中的指定字段的浮点数值加上增量 increment 。
7HKEYS key获取所有哈希表中的字段
8HLEN key获取哈希表中字段的数量
9HMGET key field1 [field2]获取所有给定字段的值
10HMSET key field1 value1 [field2 value2 ]同时将多个 field-value (域-值)对设置到哈希表 key 中。
11HSET key field value将哈希表 key 中的字段 field 的值设为 value 。
12HSETNX key field value只有在字段 field 不存在时,设置哈希表字段的值。
13HVALS key获取哈希表中所有值
14HSCAN key cursor [MATCH pattern] [COUNT count]迭代哈希表中的键值对。

5.4Redis 列表(List)

下表列出了列表相关的基本命令:

序号命令描述
1BLPOP key1 [key2 ] timeout移出并获取列表的第一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
2BRPOP key1 [key2 ] timeout移出并获取列表的最后一个元素, 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
3BRPOPLPUSH source destination timeout从列表中弹出一个值,将弹出的元素插入到另外一个列表中并返回它; 如果列表没有元素会阻塞列表直到等待超时或发现可弹出元素为止。
4LINDEX key index通过索引获取列表中的元素
5LINSERT key BEFOREAFTER pivot value
6LLEN key获取列表长度
7LPOP key移出并获取列表的第一个元素
8LPUSH key value1 [value2]将一个或多个值插入到列表头部
9LPUSHX key value将一个值插入到已存在的列表头部
10LRANGE key start stop获取列表指定范围内的元素
11LREM key count value移除列表元素
12LSET key index value通过索引设置列表元素的值
13LTRIM key start stop对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。
14RPOP key移除并获取列表最后一个元素
15RPOPLPUSH source destination移除列表的最后一个元素,并将该元素添加到另一个列表并返回
16RPUSH key value1 [value2]在列表中添加一个或多个值
17RPUSHX key value为已存在的列表添加值

5.5 Redis 集合(Set)

序号命令描述
1SADD key member1 [member2]向集合添加一个或多个成员
2SCARD key获取集合的成员数
3SDIFF key1 [key2]返回给定所有集合的差集
4SDIFFSTORE destination key1 [key2]返回给定所有集合的差集并存储在 destination 中
5SINTER key1 [key2]返回给定所有集合的交集
6SINTERSTORE destination key1 [key2]返回给定所有集合的交集并存储在 destination 中
7SISMEMBER key member判断 member 元素是否是集合 key 的成员
8SMEMBERS key返回集合中的所有成员
9SMOVE source destination member将 member 元素从 source 集合移动到 destination 集合
10SPOP key移除并返回集合中的一个随机元素
11SRANDMEMBER key [count]返回集合中一个或多个随机数
12SREM key member1 [member2]移除集合中一个或多个成员
13SUNION key1 [key2]返回所有给定集合的并集
14SUNIONSTORE destination key1 [key2]所有给定集合的并集存储在 destination 集合中
15SSCAN key cursor [MATCH pattern] [COUNT count]迭代集合中的元素

5.5Redis 有序集合(sorted set)

序号命令描述
1ZADD key score1 member1 [score2 member2]向有序集合添加一个或多个成员,或者更新已存在成员的分数
2ZCARD key获取有序集合的成员数
3ZCOUNT key min max计算在有序集合中指定区间分数的成员数
4ZINCRBY key increment member有序集合中对指定成员的分数加上增量 increment
5ZINTERSTORE destination numkeys key [key …]计算给定的一个或多个有序集的交集并将结果集存储在新的有序集合 key 中
6ZLEXCOUNT key min max在有序集合中计算指定字典区间内成员数量
7ZRANGE key start stop [WITHSCORES]通过索引区间返回有序集合成指定区间内的成员
8ZRANGEBYLEX key min max [LIMIT offset count]通过字典区间返回有序集合的成员
9ZRANGEBYSCORE key min max [WITHSCORES] [LIMIT]通过分数返回有序集合指定区间内的成员
10ZRANK key member返回有序集合中指定成员的索引
11ZREM key member [member …]移除有序集合中的一个或多个成员
12ZREMRANGEBYLEX key min max移除有序集合中给定的字典区间的所有成员
13ZREMRANGEBYRANK key start stop移除有序集合中给定的排名区间的所有成员
14ZREMRANGEBYSCORE key min max移除有序集合中给定的分数区间的所有成员
15ZREVRANGE key start stop [WITHSCORES]返回有序集中指定区间内的成员,通过索引,分数从高到底
16ZREVRANGEBYSCORE key max min [WITHSCORES]返回有序集中指定分数区间内的成员,分数从高到低排序
17ZREVRANK key member返回有序集合中指定成员的排名,有序集成员按分数值递减(从大到小)排序
18ZSCORE key member返回有序集中,成员的分数值
19ZUNIONSTORE destination numkeys key [key …]计算给定的一个或多个有序集的并集,并存储在新的 key 中
20ZSCAN key cursor [MATCH pattern] [COUNT count]迭代有序集合中的元素(包括元素成员和元素分值)

5.6其余命令

Redis HyperLogLog 命令

下表列出了 redis HyperLogLog 的基本命令:

序号命令描述
1PFADD key element [element …]添加指定元素到 HyperLogLog 中。
2PFCOUNT key [key …]返回给定 HyperLogLog 的基数估算值。
3PFMERGE destkey sourcekey [sourcekey …]将多个 HyperLogLog 合并为一个 HyperLogLog
Redis 发布订阅命令

下表列出了 redis 发布订阅常用命令:

序号命令描述
1PSUBSCRIBE pattern [pattern …]订阅一个或多个符合给定模式的频道。
2PUBSUB subcommand [argument [argument …]]查看订阅与发布系统状态。
3PUBLISH channel message将信息发送到指定的频道。
4PUNSUBSCRIBE [pattern [pattern …]]退订所有给定模式的频道。
5SUBSCRIBE channel [channel …]订阅给定的一个或多个频道的信息。
6UNSUBSCRIBE [channel [channel …]]指退订给定的频道。
Redis 事务命令

下表列出了 redis 事务的相关命令:

序号命令描述
1DISCARD取消事务,放弃执行事务块内的所有命令。
2EXEC执行所有事务块内的命令。
3MULTI标记一个事务块的开始。
4UNWATCH取消 WATCH 命令对所有 key 的监视。
5WATCH key [key …]监视一个(或多个) key ,如果在事务执行之前这个(或这些) key 被其他命令所改动,那么事务将被打断。
Redis 脚本命令

下表列出了 redis 脚本常用命令:

序号命令描述
1EVAL script numkeys key [key …] arg [arg …]执行 Lua 脚本。
2EVALSHA sha1 numkeys key [key …] arg [arg …]执行 Lua 脚本。
3SCRIPT EXISTS script [script …]查看指定的脚本是否已经被保存在缓存当中。
4SCRIPT FLUSH从脚本缓存中移除所有脚本。
5SCRIPT KILL杀死当前正在运行的 Lua 脚本。
6SCRIPT LOAD script将脚本 script 添加到脚本缓存中,但并不立即执行这个脚本。
Redis 连接命令

下表列出了 redis 连接的基本命令:

序号命令描述
1AUTH password验证密码是否正确
2ECHO message打印字符串
3PING查看服务是否运行
4QUIT关闭当前连接
5SELECT index切换到指定的数据库
Redis 服务器命令

下表列出了 redis 服务器的相关命令:

序号命令描述
1BGREWRITEAOF异步执行一个 AOF(AppendOnly File) 文件重写操作
2BGSAVE在后台异步保存当前数据库的数据到磁盘
3CLIENT KILL [ip:port] [ID client-id]关闭客户端连接
4CLIENT LIST获取连接到服务器的客户端连接列表
5CLIENT GETNAME获取连接的名称
6CLIENT PAUSE timeout在指定时间内终止运行来自客户端的命令
7CLIENT SETNAME connection-name设置当前连接的名称
8CLUSTER SLOTS获取集群节点的映射数组
9COMMAND获取 Redis 命令详情数组
10COMMAND COUNT获取 Redis 命令总数
11COMMAND GETKEYS获取给定命令的所有键
12TIME返回当前服务器时间
13COMMAND INFO command-name [command-name …]获取指定 Redis 命令描述的数组
14CONFIG GET parameter获取指定配置参数的值
15CONFIG REWRITE对启动 Redis 服务器时所指定的 redis.conf 配置文件进行改写
16CONFIG SET parameter value修改 redis 配置参数,无需重启
17CONFIG RESETSTAT重置 INFO 命令中的某些统计数据
18DBSIZE返回当前数据库的 key 的数量
19DEBUG OBJECT key获取 key 的调试信息
20DEBUG SEGFAULT让 Redis 服务崩溃
21FLUSHALL删除所有数据库的所有key
22FLUSHDB删除当前数据库的所有key
23INFO [section]获取 Redis 服务器的各种信息和统计数值
24LASTSAVE返回最近一次 Redis 成功将数据保存到磁盘上的时间,以 UNIX 时间戳格式表示
25MONITOR实时打印出 Redis 服务器接收到的命令,调试用
26ROLE返回主从实例所属的角色
27SAVE同步保存数据到硬盘
28SHUTDOWN [NOSAVE] [SAVE]异步保存数据到硬盘,并关闭服务器
29SLAVEOF host port将当前服务器转变为指定服务器的从属服务器(slave server)
30SLOWLOG subcommand [argument]管理 redis 的慢日志
31SYNC用于复制功能(replication)的内部命令
客户端命令
S.N.命令描述
1CLIENT LIST返回连接到 redis 服务的客户端列表
2CLIENT SETNAME设置当前连接的名称
3CLIENT GETNAME获取通过 CLIENT SETNAME 命令设置的服务名称
4CLIENT PAUSE挂起客户端连接,指定挂起的时间以毫秒计
5CLIENT KILL关闭客户端连接

主要来源:R
菜鸟教程

参考:
http://www.cnblogs.com/koal/p/5484916.html

http://blog.csdn.net/yjqyyjw/article/details/73293455

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值