Redis对每种数据的处理之前,都要先指定该数据的key,然后再指定对该数据进行何种操作。
Redis中的key有点类似于Java中的变量名,起到提纲挈领的作用,对某个数据的处理都是以key作为切入点。所以Redis把key作为单独的处理对象抽象出了一套操作命令。key可以想象成一个指向实际数据的指针,对key的操作会直接影响它所指向的数据的状态。
1 key操作
比如,我们想删除某个数据,就可以通过删除它的key来达到目的:
1 | 127.0.0.1:6379> SET name chenlongfei |
想要查看某个数据的类型:
1 | 127.0.0.1:6379> SADD direction east west south north |
想要更改某个数据的key的名字:
1 | 127.0.0.1:6379> RENAME direction direct |
2 key操作命令汇总
命令格式 | 说明 |
---|---|
DEL key [key …] | 此命令删除键,如果存在 |
EXISTS key | 此命令检查该键是否存在 |
EXPIRE key seconds | 指定键的过期时间(秒) |
PEXPIRE key milliseconds | 指定键的过期时间(毫秒) |
EXPIREAT key timestamp | 以Unix时间戳格式(秒)指定键的过期时间 |
PEXPIREAT key milliseconds-timestamp | 以Unix时间戳格式(毫秒)指定键的过期时间 |
KEYS pattern | 查找与指定模式匹配的所有键。pattern支持glob-style的通配符格式,如*表示任意一个或多个字符,?表示任意字符,[abc]表示方括号中任意一个字母 |
RENAME key newkey | 更改键的名称 |
RENAMENX key newkey | 重命名键,如果新的键不存在 |
TYPE key | 返回存储在键的数据类型的值 |
RANDOMKEY | 从Redis返回随机键的名字 |
PERSIST key | 如果Key存在过期时间,该命令会将其过期时间消除,使该Key不再有超时,而是可以持久化存储 |
TTL key | (Time To Live)返回该键的剩余存活时间(秒),如果该键不存在或没有超时设置,则返回-1 |
PTTL key | 返回该键的剩余存活时间(毫秒) |
3 设置客户端操作密码
redis安装好后,默认情况下登陆客户端和使用命令操作时不需要密码的。某些情况下,为了安全起见,我们可以设置在客户端连接后进行任何操作之前都要进行密码验证。修改redis.conf进行配置。
1 | #######################SECURITY ############################## |
如上,找到# requirepass foobared这一行,在下面添加“requirepass 密码”一行设置密码。设置好密码后,有两种方式授权客户端进行操作。
3.1 客户端授权方式
登录时使用-a参数指定客户端密码,如下
1 | [root@localhost ~]# /usr/local/redis/bin/redis-cli -h 192.168.2.129 -p 6379 -a redis129 |
登录客户端后使用auth命令进行授权,如下
1 | [root@localhost ~]# /usr/local/redis/bin/redis-cli -h 192.168.2.129 -p 6379 |
3.2 命令汇总
命令格式 | 说明 |
---|---|
AUTH password | 验证密码 |
ECHO message | 打印字符串 |
PING | 检验连接状况,正常情况下服务器会返回“PONG”。 |
QUIT | 关闭当前连接 |
SELECT index | 切换到指定的数据库,数据库索引号 index 用数字值指定,以 0 作为起始索引值。默认使用 0 号数据库。 |
4 服务器管理
Redis定义了一组与服务器相关的命令,用于查询服务器信息,如当前时间、客户端连接数量,以及修改配置文件、手动触发某些操作等。
命令格式 | 说明 |
---|---|
INFO | 打印服务器的详细信息 |
CONFIG GETname | 获取配置项name的内容 |
CONFIG SETname value | 将配置项name的值设为value,无需重启 |
BGSAVE | 在后台异步保存当前数据库的数据到磁盘。BGSAVE 命令执行之后立即返回 OK ,然后 Redis fork 出一个新子进程,原来的 Redis 进程(父进程)继续处理客户端请求,而子进程则负责将数据保存到磁盘,然后退出。 |
SAVE | SAVE 命令执行一个同步操作,以RDB文件的方式保存所有数据的快照。很少在生产环境直接使用SAVE 命令,因为它会阻塞所有的客户端的请求,可以使用BGSAVE 命令代替 |
FLUSHALL | 删除所有数据库的所有key |
FLUSHDB | 删除当前数据库的所有key |
SHUTDOWN [NOSAVE][SAVE] | 停止所有客户端,如果配置了save 策略 则执行一个阻塞的save命令,如果开启了AOF,则刷新aof文件,关闭Redis服务进程(Redis-server)。 |