一 .Redis常用命令
Redis提供了丰富的命令对数据库和各种数据库类型进行操作,这些命令可以在Linux终端使用。
redis 127.0.0.1:6379> keys *
1) "myzset2" 2) "myzset3" 3) "mylist" 4) "myset2" 5) "myset3" 6) "myset4" 7) "list1" redis 127.0.0.1:6379> keys my* 1) "myzset2" 2) "myzset3" 3) "mylist" 4) "myset2" 5) "myset3" 6) "myset4"
exists:确认一个key是否存在。
redis 127.0.0.1:6379> exists name
redis 127.0.0.1:6379> del age
expire:设置一个key的过期时间。
redis 127.0.0.1:6379> expire addr 10
(integer) 1 redis 127.0.0.1:6379> ttl addr (integer) 8 redis 127.0.0.1:6379> ttl addr (integer) 1 redis 127.0.0.1:6379> ttl addr (integer) -1 //代表addr已经过期 redis 127.0.0.1:6379> get addr (nil) redis 127.0.0.1:6379> exists addr (integer) 0
move:将当前数据库中的key转移到其它数据库中。
redis 127.0.0.1:6379> select 0
OK redis 127.0.0.1:6379> set age 30 OK redis 127.0.0.1:6379> get age "30" redis 127.0.0.1:6379> move age 1 //将age从0数据库移到1数据库 (integer) 1 redis 127.0.0.1:6379> get age (nil) redis 127.0.0.1:6379[1]> select 1 OK redis 127.0.0.1:6379[1]> get age "30" redis 127.0.0.1:6379[1]> select 0 OK redis 127.0.0.1:6379> exists age (integer) 0
persist:移除给定key的过期时间
redis 127.0.0.1:6379> expire age 300
(integer) 1 redis 127.0.0.1:6379> ttl age (integer) 294 redis 127.0.0.1:6379> persist age (integer) 1 redis 127.0.0.1:6379> ttl age (integer) -1 //-1表示取消了过期时间
randomkey:随机返回key空间的一个key。
redis 127.0.0.1:6379> randomkey
"mylist7" redis 127.0.0.1:6379> randomkey "mylist5"
rename:重命名key。
redis 127.0.0.1:6379> keys *
1) "age" redis 127.0.0.1:6379> rename age age_new OK redis 127.0.0.1:6379> keys * 1) "age_new"
type:返回值的类型。
redis 127.0.0.1:6379> type addr
string redis 127.0.0.1:6379> type myzset2 zset redis 127.0.0.1:6379> type mylist list
2.服务器相关命令
redis 127.0.0.1:6379> ping
PONG //执行下面命令之前,停止redis服务器 redis 127.0.0.1:6379> ping Could not connect to Redis at 127.0.0.1:6379:Connection refused //执行下面命令之前,启动redis服务器 redis 127.0.0.1:6379> ping PONG
第一个ping时,说明此连接正常;第二个ping之前,我们将redis服务器停止,那么ping是失败的;第三个ping之前,我们将redis服务器启动,那么ping是成功的。
echo:在命令行打印一些内容。
redis 127.0.0.1:6379> echo lamp "lamp"
select:选择数据库。Redis数据库编号从0-15,我们可以选择任意一个数据库来进行数据的存取。
redis 127.0.0.1:6379> select 1
OK redis 127.0.0.1:6379[1]> select 16 (error) ERR invalid DB index redis 127.0.0.1:6379[16]>
当先择16时,报错,说明没有编号为16的这个数据库。
redis 127.0.0.1:6379> quit
[root@localhost redis-2.2.12]#
dbsize:返回当前数据库中key的数目。
redis 127.0.0.1:6379> dbsize
(integer) 18
结果说明此库中有18个key。
redis 127.0.0.1:6379> info
redis_version:2.2.12 redis_git_sha1:00000000 redis_git_dirty:0 arch_bits:32 multiplexing_api:epoll process_id:28480 uptime_in_seconds:2515 uptime_in_days:0 . . . redis 127.0.0.1:6379>
config get:实时传储收到的请求。
本例中获取了dir这个参数配置的值,如果想获取全部参数据的配置值也很简单,只需要执行"config get *"即可将全部的值都显示出来。
redis 127.0.0.1:6379> dbsize
(integer) 18 redis 127.0.0.1:6379> flushdb OK redis 127.0.0.1:6379> dbsize (integer) 0
本例中将0号数据库中的key都清除了。
redis 127.0.0.1:6379[1]> dbsize
(integer) 1 redis 127.0.0.1:6379> select 0 OK redis 127.0.0.1:6379> flushall OK redis 127.0.0.1:6379> select 1 OK redis 127.0.0.1:6379[1]> dbsize (integer) 0 redis 127.0.0.1:6379[1]> keys * (empty list or set) redis 127.0.0.1:6379[1]> select 0 OK redis 127.0.0.1:6379> keys * (empty list or set)
在本例中先查看了一个1号数据库中有一个key,然后切换到0号库执行flushall命令,结果1号库中的key也被清除了,说是此命令工作正常。
[root@localhost ~]# pkill redis-server
[root@localhost ~]# /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf [root@localhost ~]# /usr/local/redis/bin/redis-cli redis 127.0.0.1:6379> keys * (error) ERR operation not permitted redis 127.0.0.1:6379> auth beijing OK redis 127.0.0.1:6379> keys * 1) "name" redis 127.0.0.1:6379> exit [root@localhost ~]# /usr/local/redis/bin/redis-cli -a beijing redis 127.0.0.1:6379> keys * 1) "name"
[root@localhost ~]# vi /usr/local/redis/etc/redis.conf
//修改其中的slaveof <maserip> <masterport>、masterauth <master-password> [root@localhost ~]# /usr/local/redis/bin/redis-server /usr/local/redis/etc/redis.conf [root@localhost ~]# /usr/local/redis/bin/redis-cli -a beijing redis 127.0.0.1:6379> keys * (empty list or set)
配置好后,在Master设置任何key,在Slaver数据库中也会有,表示主从复制成功。
redis 127.0.0.1:6379> set name master
OK redis 127.0.0.1:6379>
redis 127.0.0.1:6379> get name
"master" redis 127.0.0.1:6379>
怎么判断哪个是主哪个是从?
redis 127.0.0.1:6379> info
role:slave master_host:localhost master_port:6379 master_link_status:up master_last_io_seconds_ago:10 master_sync_in_progress:0 db0:key=1,expires=0 redis 127.0.0.1:6379> 其中role会显示是Master还是Slave服务器,master_link_status的值是up表示正在连接Master服务器。 (责任编辑:IT) |