redis基本操作
redis安装部署
cd /data/tools
tar xf redis-3.0.7.tar.gz
cd /data
ln -s redis-3.0.7 redis
cd /data/redis
make
make install
redis-server &
netstat -ntulp |grep redis
主从部署
主redis
redis配置文件:/data/redis/redis.conf
vim /data/redis/redis.conf //注释掉slave的行
从redis:
vim /data/redis/redis.conf
appendonly yes
slaveof 192.168.65.15 6379
注意点:从redis的启动要指明配置文件,启动方法为:
redis-server /data/redis/redis.conf &
主从测试
进入主redis客户端
[root@vm_05 ~]# redis-cli
127.0.0.1:6379> set key aa
OK
127.0.0.1:6379> get key
"aa"
进入从redis 同样方法查看是否有key值,或直接敲info查看状态
[root@vm_06 ~]# redis-cli
127.0.0.1:6379> get key
"aa"
redis降权启动
useradd redis -s /sbin/nologin -M
chown -R redis.redis /data/redis 或:chown -R redis.redis /data/tools/redis-3.0.7
su - redis -l -s /bin/bash -c '/usr/local/bin/redis-server /data/redis/redis.conf &'或
setsid -u redis /usr/local/bin/redis-server /data/redis/redis.conf &
ps -ef|grep redis
补充:
1、赋于或者查看键值的方式可以不进入redis-cli后再赋值,直接赋值。
语法:redis-cli -h ip -p port set key value
[root@vm_05 ~]# redis-cli -h localhost -p 6379 set name1 "qiujiajia"
OK
[root@vm_05 ~]# redis-cli -h localhost -p 6379 get name1
"qiujiajia"
2、删除键值的方法
方法一:
[root@vm_05 ~]# redis-cli
127.0.0.1:6379> get name1
"qiujiajia"
127.0.0.1:6379> del name1
(integer) 1
127.0.0.1:6379> get name1
(nil)
方法二:
[root@vm_05 ~]# redis-cli -h localhost -p 6379 get name2
"tom"
[root@vm_05 ~]# redis-cli -h localhost -p 6379 del name2
(integer) 1
[root@vm_05 ~]# redis-cli -h localhost -p 6379 get name2
(nil)
3、添加列表
语法:rpush list_name value1 value2 value3 ......
[root@vm_05 ~]# redis-cli
127.0.0.1:6379> rpush name "tom" "jack" "bob" "qiujiajia"
(integer) 4
127.0.0.1:6379> lrange name 0 3
1) "tom"
2) "jack"
3) "bob"
4) "qiujiajia"
127.0.0.1:6379> del name
(integer) 1
127.0.0.1:6379> lrange name 0 3
(empty list or set)
4、添加集合
语法:sadd set_name value1 value2 value3 value4 ......
127.0.0.1:6379> sadd name "aa" "bb" "cc"
(integer) 3
127.0.0.1:6379> smembers name
1) "bb"
2) "aa"
3) "cc"
5、redis内容清理
redis-cli 先连接进入本地的redis
查看所有key值:keys *
127.0.0.1:6379> keys *
1) "name2"
2) "key1"
3) "key2"
4) "name1"
删除指定索引的值:del key
127.0.0.1:6379> del name1
(integer) 1
清空整个 Redis 服务器的数据:flushall
127.0.0.1:6379> flushall
1991:M 23 Oct 00:58:26.948 * DB saved on disk
OK
127.0.0.1:6379> keys *
(empty list or set)
清空当前库中的所有 key:flushdb