2、下载完毕redis之后,解压,编译一下

$>tar -zxvf redis-5.0.5.tar.gz
$>cd redis-5.0.5
$>make

3、编译完之后会进入src文件中,再次make install一下

$>cd src
$>make install

4、修改一下redis的config文件

$>cd redis-5.0.5
$>vim redis.conf
//将daemonize属性改为yes,后台启动redis服务

5、 创建2个文件,方便管理一些文件

$>cd redis-5.0.5
$>mkdir etc
$>mkdir bin
$>mv redis.conf ../etc
$>cd src
$>mv mkreleasdhdr.sh redis-benchmark redis-check-aof redis-check-dump redis-cli redis-server ../bin

6、将bin与etc加入到profile中

$>vim /etc/profile
$>在末尾添加
$>export PATH="$PATH:/root/###/redis-5.0.5/bin"
$>export PATH="$PATH:/root/###/redis-5.0.5/etc"
$>sh /etc/profile

7、启动redis

redis-server /root/***/redis-5.0.5/etc/redis.conf

8、配置内核参数,否则Redis脚本在重启或停止redis时,将会报错,并且不能自动在停止服务前同步数据到磁盘上/etc/sysctl.conf加上

$>vim /etc/sysctl.conf
//将vm.overcommit_memory = 1加入
$>sysctl -p
//查看一下

9、redis-cli,可以进入命令行

连接redis:

redis-cli -h 域名 -p 端口 -a 密码

查看keys:

keys *
keys mykey*
lrange key 0 -1

清除redis:

del mykey

//set
//hash
//string

常用命令:
1、–清空当前选择的数据库,以便于对后面示例的理解。

redis 127.0.0.1:6379> flushdb 
OK 

list列表

lpush list 1
lpush list 2
lrange list 0 10

2、–添加String类型的模拟数据。

redis 127.0.0.1:6379> set mykey 2 
OK 
redis 127.0.0.1:6379> set mykey2 “hello” 
OK 

3、–添加Set类型的模拟数据。

redis 127.0.0.1:6379> sadd mysetkey 1 2 3 
(integer) 3 

4、–添加Hash类型的模拟数据。

redis 127.0.0.1:6379> hset mmtest username “stephen” 
(integer) 1

5、–根据参数中的模式,获取当前数据库中符合该模式的所有key,从输出可以看出,该命令在执行时并不区分与Key关联的Value类型。

redis 127.0.0.1:6379> keys my* 
1) “mysetkey” 
2) “mykey” 
3) “mykey2”

6、–删除了两个Keys。

redis 127.0.0.1:6379> del mykey mykey2 
(integer) 2 

7、–查看一下刚刚删除的Key是否还存在,从返回结果看,mykey确实已经删除了。

redis 127.0.0.1:6379> exists mykey 
(integer) 0 

8、–查看一下刚刚移动过来的Key是否存在,从返回结果看已经存在了。

redis 127.0.0.1:6379[1]> exists mysetkey 
(integer) 1

9、–在重新打开ID为0的缺省数据库。

redis 127.0.0.1:6379[1]> select 0 
OK 

10、–查看一下刚刚移走的Key是否已经不存在,从返回结果看已经移走。

redis 127.0.0.1:6379> exists mysetkey 
(integer) 0 

11、–准备新的测试数据。

redis 127.0.0.1:6379> set mykey “hello” 
OK 

–将mykey改名为mykey1

redis 127.0.0.1:6379> rename mykey mykey1 
OK 

12、–由于mykey已经被重新命名,再次获取将返回nil。

redis 127.0.0.1:6379> get mykey 
(nil)

13、–通过新的键名获取。

redis 127.0.0.1:6379> get mykey1 
“hello”

14、–由于mykey已经不存在了,所以返回错误信息。

redis 127.0.0.1:6379> rename mykey mykey1 
(error) ERR no such key 

15、–为renamenx准备测试key

redis 127.0.0.1:6379> set oldkey “hello” 
OK 
redis 127.0.0.1:6379> set newkey “world” 
OK 

16、–由于newkey已经存在,因此该命令未能成功执行。

redis 127.0.0.1:6379> renamenx oldkey newkey 
(integer) 0 

17、 –查看newkey的值,发现它也没有被renamenx覆盖。

redis 127.0.0.1:6379> get newkey 
“world”

18、PERSIST/EXPIRE/EXPIREAT/TTL:
–为后面的示例准备的测试数据。

redis 127.0.0.1:6379> set mykey “hello” 
OK 

19、–将该键的超时设置为100秒。

redis 127.0.0.1:6379> expire mykey 100 
(integer) 1 

20、–通过ttl命令查看一下还剩下多少秒。

redis 127.0.0.1:6379> ttl mykey 
(integer) 97 

21、–立刻执行persist命令,该存在超时的键变成持久化的键,即将该Key的超时去掉。

redis 127.0.0.1:6379> persist mykey 
(integer) 1 

22、–ttl的返回值告诉我们,该键已经没有超时了。

redis 127.0.0.1:6379> ttl mykey 
(integer) -1 

23、–重新更新该键的超时时间为20秒,从返回值可以看出该命令执行成功。

redis 127.0.0.1:6379> expire mykey 20 
(integer) 1 

24、–再用ttl确认一下,从结果中可以看出果然被更新了。

redis 127.0.0.1:6379> ttl mykey 
(integer) 17 

–立刻更新该键的值,以使其超时无效。

redis 127.0.0.1:6379> set mykey “world” 
OK 

–从ttl的结果可以看出,在上一条修改该键的命令执行后,该键的超时也无效了。

redis 127.0.0.1:6379> ttl mykey 
(integer) -1

25、TYPE/RANDOMKEY/SORT:
–由于mm键在数据库中不存在,因此该命令返回none。

redis 127.0.0.1:6379> type mm 
none 

26、–mykey的值是字符串类型,因此返回string。

redis 127.0.0.1:6379> type mykey 
string

27、–准备一个值是set类型的键。

redis 127.0.0.1:6379> sadd mysetkey 1 2 
(integer) 2 

–mysetkey的键是set,因此返回字符串set。

redis 127.0.0.1:6379> type mysetkey 
set 

28、–返回数据库中的任意键。

redis 127.0.0.1:6379> randomkey 
“oldkey”

29、–清空当前打开的数据库。

redis 127.0.0.1:6379> flushdb 
OK 

–由于没有数据了,因此返回nil。

redis 127.0.0.1:6379> randomkey 
(nil)