wget -c http://download.redis.io/releases/redis-3.2.9.tar.gz #下载源码
tar -xvf redis-3.2.9.tar.gz #解压
cd redis-3.2.9/
make #编译
make install #安装
./utils/install_server.sh #安装并启动服务
ps -ef|grep redis
/etc/init.d/redis_6379 start/stop #启动/关闭redis
cd src
redis-cli -h 127.0.0.1 -p 6379 #进入redis
进入redis,我们该如何使用呢
#字符串类型
[root@localhost src]# redis-cli -h 127.0.0.1
127.0.0.1:6379> set bp 123 #设置字符串类型,变量bp的值为123
OK
127.0.0.1:6379> get bp #获取bp的值
"123"
127.0.0.1:6379> type bp #查看bp的类型
string
127.0.0.1:6379> append bp linux #在bp末尾添加linux
(integer) 8
127.0.0.1:6379> get bp #添加成功
"123linux"
127.0.0.1:6379> strlen bp #字符串长度
(integer) 8
127.0.0.1:6379> del bp #删除bp变量
(integer) 1
127.0.0.1:6379> get bp #删除成功
(nil)
127.0.0.1:6379> mset linux a kali b centos c #同时设置多个值,mset后面是两个两个一对
OK
127.0.0.1:6379> mget linux kali centos #同时获取多个值
1) "a"
2) "b"
3) "c"
#散列类型
127.0.0.1:6379> hset id name passwd #散列名称为id,后面可以跟多对值
(integer) 1
127.0.0.1:6379> hset id sex color
(integer) 1
127.0.0.1:6379> hset id city good
(integer) 1
127.0.0.1:6379> hget id name #获取散列名称为id里的name对应的值
"passwd"
127.0.0.1:6379> hget id sex
"color"
127.0.0.1:6379> hgetall id #获取散列id的全部值
1) "name"
2) "passwd"
3) "sex"
4) "color"
5) "city"
6) "good"
127.0.0.1:6379> hmset ood name linux kali contos debian 30 #一次性设置ood散列的值
OK
127.0.0.1:6379> hgetall ood
1) "name"
2) "linux"
3) "kali"
4) "contos"
5) "debian"
6) "30"
127.0.0.1:6379> hget ood name
"linux"
127.0.0.1:6379> hmget ood name
1) "linux"
127.0.0.1:6379> hdel ood name #删除ood里的name
(integer) 1
127.0.0.1:6379> hgetall ood
1) "kali"
2) "contos"
3) "debian"
4) "30"
127.0.0.1:6379> hexists ood kali #散列ood是否存在kali,存在
(integer) 1
127.0.0.1:6379> hexists ood no #散列ood是否存在no,不存在
(integer) 0
#列表类型
127.0.0.1:6379> lpush test 1 #列表名为test,从左边加入1
(integer) 1
127.0.0.1:6379> lpush test 2
(integer) 2
127.0.0.1:6379> rpush test -1 #列表名为test,从右边加入-1
(integer) 3
127.0.0.1:6379> llen test #列表长度
(integer) 3
127.0.0.1:6379> lpop test #左边出去一个数
"2"
127.0.0.1:6379> llen test
(integer) 2
127.0.0.1:6379> rpop test #右边出去一个数
"-1"
127.0.0.1:6379> lpop test
"1"
127.0.0.1:6379> llen test
(integer) 0
127.0.0.1:6379> lpush test 1
(integer) 1
127.0.0.1:6379> lpush test 2
(integer) 2
127.0.0.1:6379> lpush test 3
(integer) 3
127.0.0.1:6379> rpush test 8
(integer) 4
127.0.0.1:6379> rpush test 9
(integer) 5
127.0.0.1:6379> lrange test 2 3 #列表下标从0开始计算,显示第三个数和第四个数
1) "1"
2) "8"
127.0.0.1:6379> lrange test 0 3
1) "3"
2) "2"
3) "1"
4) "8"
127.0.0.1:6379> lrem test 1 3 #左数删除1个3
(integer) 1
127.0.0.1:6379> llen test
(integer) 4
127.0.0.1:6379> lrange test 0 3
1) "2"
2) "1"
3) "8"
4) "9"
127.0.0.1:6379> lindex test 2 #获取2的下标
"8"
127.0.0.1:6379> ltrim test 0 2 #test取截取出来的下标0到2对应的值
OK
127.0.0.1:6379> llen test
(integer) 3
127.0.0.1:6379> lrange test 0 2
1) "2"
2) "1"
3) "8"
#集合类型
127.0.0.1:6379> sadd linux a b c d e a b #增加linux集合,集合内容为a b c d e a b
(integer) 5
127.0.0.1:6379> sadd kali A F I S
(integer) 4
127.0.0.1:6379> srem linux d e #删除linux集合中的d e元素
(integer) 2
127.0.0.1:6379> smembers linux #查看linux的元素
1) "b"
2) "c"
3) "a"
127.0.0.1:6379> sismember linux d #查看d是否是集合linux的元素,否
(integer) 0
127.0.0.1:6379> sismember linux a #查看a是否是集合linux的元素,是
(integer) 1
127.0.0.1:6379> sadd centos a d e c b
(integer) 5
127.0.0.1:6379> smembers linux
1) "b"
2) "c"
3) "a"
127.0.0.1:6379> smembers centos
1) "e"
2) "b"
3) "c"
4) "a"
5) "d"
127.0.0.1:6379> sdiff linux centos #取差集,linux集合被包含在centos里面,所以没有(linux-centos)
(empty list or set)
127.0.0.1:6379> sinter linux centos #取交集
1) "b"
2) "c"
3) "a"
127.0.0.1:6379> sdiff centos linux #centos-linux
1) "e"
2) "d"
127.0.0.1:6379> sunion linux centos #取并集
1) "e"
2) "b"
3) "c"
4) "d"
5) "a"
#有序集合
127.0.0.1:6379> zadd test1 10 a #增加test1有序集合,分数为10 等级为a
(integer) 1
127.0.0.1:6379> zadd test2 20 b
(integer) 1
127.0.0.1:6379> zadd test1 5 c
(integer) 1
127.0.0.1:6379> zrem test1 b #移除test1的等级b的值
(integer) 1
127.0.0.1:6379> zscore test1 a #查看test1的等级a的值
"10"
127.0.0.1:6379> zrange test1 0 1 #查看test1第一个和第二个的值
1) "c"
2) "a"
127.0.0.1:6379> zrangebyscore test1 5 10 #根据分数查看对应的的等级
1) "c"
2) "a"