第2章:准备
'纸上得来终觉浅,绝知此事要躬行'--陆游
2.2启动和停止redis
表2-1 redis可执行文件说明
文件名 | 说明 |
---|---|
redis- server | redis服务器 |
redis-cli | redis命令行客户端 |
redis-benchmark | redis性能测试工具 |
redis-check-aof | AOF文件修复工具 |
redis-check-dump | RDB文件检查工具 |
redis-sentinel | Sentinel服务器(2.8版本后) |
- 我们常用的两个程序是redis-server和redis-cli
2.2.1启动redis
-
直接启动
- $redis-server
- redis服务器默认使用6379端口
-
通过初始化脚本启动redis
- redis源代码目录的utils文件夹中的redis_init_script的初始化脚本文件
2.2.2停止redis
- $redis-cli SHUTDOWN
2.3redis命令行客户端
2.3.1发送命令
通过redis-cli向redis发送命令的两种方式:
-
将命令作为redis-cli的参数执行
- $redis-cli -h 127.0.0.1 -p 6379
- $redis-cli PING # 返回值为PONG为正常连接
-
redis-cli
2.3.2命令返回值
-
状态回复:
最简单的一种回复127.0.0.1:6379> ping PONG
-
错误回复:
当命令不存在或命令格式有错误时redis会返回错误回复127.0.0.1:6379> ERRORCOMMEND (error) ERR unknown command 'ERRORCOMMEND' 127.0.0.1:6379> LPUSH key 1 (integer) 1 127.0.0.1:6379> get key (error) WRONGTYPE Operation against a key holding the wrong kind of value
-
整数回复:
reddis没有整数类型,但提供了整数操作命令127.0.0.1:6379> incr foo (integer) 1
-
字符串回复:
常见的一种回复类型,当请求一个字符串类型键或一个其他类型键中的某个元素时就会得到一个字符串回复.字符串回复以双引号包裹127.0.0.1:6379> get foo "1" 127.0.0.1:6379> get noexists (nil)
- 当请求的键值不存在时会得到一个空结果,显示为(nil)
-
多行字符串回复:
同样很常见,如当请求一个非字符串类型键的元素列表时就会收到多行字符串回复.多行字符串回复中的每行都已一个序号开头127.0.0.1:6379> keys * 1) "key" 2) "foo"
2.4配置
-
$redis-server /path/to/redis.conf
127.0.0.1:6379> config get loglevel 1) "loglevel" 2) "notice"
-
第一行字符串回复表示选项名,第二行及时选项值
2.5多数据库
更换数据库:
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> get foo
(nil)
- redis不支持自定义数据库名字,每个数据库都以编号命名
- redis不支持每个数据库设置不同的访问密码
- redis多个数据库之间并不是完全隔离