您的位置:首页 > 数据库 > Redis

虚拟机安装部署redis 启动 五种数据类型 key命令(过期时间) redis持久化方案

2018-01-10 14:35 1176 查看
 

 Redis的安装及启动

redis安装包链接:https://pan.baidu.com/s/1jJbmyW2 密码:ccg0
Redis是c语言开发的。

安装redis需要c语言的编译环境。如果没有gcc需要在线安装。yuminstall gcc-c++

 

安装步骤:

第一步:redis的源码包上传到linux系统。

第二步:解压缩redis。

tar zxvf redis-3.0.0.tar.gz

第三步:编译。进入redis源码目录。make

root@localhost ~]# cd redis-3.0.0
[root@localhost redis-3.0.0]# ll
总用量 136
-rw-rw-r--.  1 root root 25890 Apr  1  2015 00-RELEASENOTES
-rw-rw-r--.  1 root root    53 Apr  1  2015 BUGS
-rw-rw-r--.  1 root root  1439 Apr  1  2015 CONTRIBUTING
-rw-rw-r--.  1 root root  1487 Apr  1  2015 COPYING
drwxrwxr-x.  6 root root   107 Apr  1  2015 deps
-rw-rw-r--.  1 root root    11 Apr  1  2015 INSTALL
-rw-rw-r--.  1 root root   151 Apr  1  2015 Makefile
-rw-rw-r--.  1 root root  4223 Apr  1  2015 MANIFESTO
-rw-rw-r--.  1 root root  5201 Apr  1  2015 README
-rw-rw-r--.  1 root root 41403 Apr  1  2015 redis.conf
-rwxrwxr-x.  1 root root   271 Apr  1  2015 runtest
-rwxrwxr-x.  1 root root   280 Apr  1  2015 runtest-cluster
-rwxrwxr-x.  1 root root   281 Apr  1  2015 runtest-sentinel
-rw-rw-r--.  1 root root  7109 Apr  1  2015 sentinel.conf
drwxrwxr-x.  2 root root  4096 Apr  1  2015 src
drwxrwxr-x. 10 root root   167 Apr  1  2015 tests
drwxrwxr-x.  5 root root  4096 Apr  1  2015 utils

root@localhost redis-3.0.0]# make

第四步:安装。makeinstall PREFIX=/usr/local/redis    PREFIX参数指定redis的安装目录。一般软件安装到/usr目录下

[root@localhost redis-3.0.0]# make install PREFIX=/usr/local/redis
//由于不是config配置的,所以需要指定安装文件夹,如果没有redis文件夹,会自动创建并安装

第五步: 启动redis(前端启动模式-----会占用终端界面)

[root@localhost redis-3.0.0]# cd /usr/local/redis/
[root@localhost redis]# ll
总用量 0
drwxr-xr-x. 2 root root 135 Jan 10 14:46 bin
[root@localhost redis]# cd bin
[root@localhost bin]# ll
总用量 8492
-rwxr-xr-x. 1 root root 2075096 Jan 10 14:46 redis-benchmark
-rwxr-xr-x. 1 root root   25208 Jan 10 14:46 redis-check-aof
-rwxr-xr-x. 1 root root   56056 Jan 10 14:46 redis-check-dump
-rwxr-xr-x. 1 root root 2199256 Jan 10 14:46 redis-cli
lrwxrwxrwx. 1 root root      12 Jan 10 14:46 redis-sentinel -> redis-server
-rwxr-xr-x. 1 root root 4330968 Jan 10 14:46 redis-server
[root@localhost bin]# ./redis-server

后端启动模式: 需要配置文件
将配置文件复制到安装目录下

root@localhost ~]# cd redis-3.0.0
[root@localhost redis-3.0.0]# ll
总用量 144
-rw-rw-r--.  1 root root 25890 Apr  1  2015 00-RELEASENOTES
-rw-rw-r--.  1 root root    53 Apr  1  2015 BUGS
-rw-rw-r--.  1 root root  1439 Apr  1  2015 CONTRIBUTING
-rw-rw-r--.  1 root root  1487 Apr  1  2015 COPYING
drwxrwxr-x.  6 root root   175 Jan 10 14:41 deps
-rw-rw-r--.  1 root root    11 Apr  1  2015 INSTALL
-rw-rw-r--.  1 root root   151 Apr  1  2015 Makefile
-rw-rw-r--.  1 root root  4223 Apr  1  2015 MANIFESTO
-rw-rw-r--.  1 root root  5201 Apr  1  2015 README
-rw-rw-r--.  1 root root 41403 Apr  1  2015 redis.conf
-rwxrwxr-x.  1 root root   271 Apr  1  2015 runtest
-rwxrwxr-x.  1 root root   280 Apr  1  2015 runtest-cluster
-rwxrwxr-x.  1 root root   281 Apr  1  2015 runtest-sentinel
-rw-rw-r--.  1 root root  7109 Apr  1  2015 sentinel.conf
drwxrwxr-x.  2 root root  8192 Jan 10 14:41 src
drwxrwxr-x. 10 root root   167 Apr  1  2015 tests
drwxrwxr-x.  5 root root  4096 Apr  1  2015 utils
[root@localhost redis-3.0.0]# cp redis.conf /usr/local/redis/binxiu

修改配置文件,将文件中daemonize no 的no改为yes

[root@localhost redis-3.0.0]# cd /usr/local/redis/bin
root@localhost bin]# vim redis.conf

启动 root@localhost bin]# ./redis-server redis.conf

第六步: 关闭redis,查看进程关闭,kill+进程号 属于正常关闭,也可以在redis文件目录下执行 ./redis-cli shutdown

[root@localhost bin]# ps aux|grep redis
root      10528  0.1  0.4 140836  4056 ?        Ssl  15:06   0:00 ./redis-server *:6379
root      10543  0.0  0.1 112668  1004 pts/1    R+   15:08   0:00 grep --color=auto redis
[root@localhost bin]# kill 10528

   Redis-cli

[root@localhost bin]# ./redis-cli
默认连接localhost运行在6379端口的redis服务。
[root@localhost bin]# ./redis-cli -h 192.168.25.153 -p 6379
-h:连接的服务器的地址
-p:服务的端口号

关闭redis:[root@localhost bin]# ./redis-cli shutdown

Redis五种数据类型

String:key-value(做缓存)
Redis中所有的数据都是字符串。命令不区分大小写,key是区分大小写的。Redis是单线程的。Redis中不适合保存内容大的数据。
get、set、
incr:加一(生成id)
Decr:减一

Hash:key-fields-values(做缓存)
存:hset hash1 fileld1 value
取值:hget hash1 filed1
只取值不要key:hvals hash1
查看所有的key:hkeys hash1
全部取: hgetall hash1
删除数据:hdel key
相当于一个key对于一个map,map中还有key-value
使用hash对key进行归类。
Hset:向hash中添加内容
Hget:从hash中取内容

List:有顺序可重复,适合做排队的处理,进程依次处理,取出数据后在list里面就不存在此条数据
//向左添加
192.168.25.153:6379> lpush list1 a b c d
(integer) 4
//向右添加
192.168.25.153:6379> lrange list1 0 -1
1) "d"
2) "c"
3) "b"
4) "a"
192.168.25.153:6379> rpush list1 1 2 3 4
(integer) 8
//查看:取全部元素
192.168.25.153:6379> lrange list1 0 -1
1) "d"
2) "c"
3) "b"
4) "a"
5) "1"
6) "2"
7) "3"
8) "4"
192.168.25.153:6379>
//取出左边第一个元素
192.168.25.153:6379> lpop list1
"d"
//取出右边第一个元素,取完数据就不存在
192.168.25.153:6379> lrange list1 0 -1
1) "c"
2) "b"
3) "a"
4) "1"
5) "2"
6) "3"
7) "4"
192.168.25.153:6379> rpop list1
"4"
192.168.25.153:6379> lrange list1 0 -1
1) "c"
2) "b"
3) "a"
4) "1"
5) "2"
6) "3"
192.168.25.153:6379>

Set:元素无顺序,不能重复
//取AB集合差集,取A特有的 sdiff seta setb
//取交集 sinter seta setb
//取并集 sunion seta setb
192.168.25.153:6379> sadd set1 a b c c c d
(integer) 4
//查询
192.168.25.153:6379> smembers set1
1) "b"
2) "c"
3) "d"
4) "a"
192.168.25.153:6379> srem set1 a
(integer) 1
192.168.25.153:6379> smembers set1
1) "b"
2) "c"
3) "d"
192.168.25.153:6379>
还有集合运算命令,自学。

SortedSet(zset):有顺序,不能重复,消耗内存
//添加
192.168.25.153:6379> zadd zset1 2 a 5 b 1 c 6 d
(integer) 4
//查询
192.168.25.153:6379> zrange zset1 0 -1
1) "c"
2) "a"
3) "b"
4) "d"
//删除
192.168.25.153:6379> zrem zset1 a
(integer) 1
//升序排列
192.168.25.153:6379> zrange zset1 0 -1
1) "c"
2) "b"
3) "d"
//降序排列
192.168.25.153:6379> zrevrange zset1 0 -1
1) "d"
2) "b"
3) "c"
192.168.25.153:6379> zrange zset1 0 -1 withscores
1) "c"
2) "1"
3) "b"
4) "5"
5) "d"
6) "6"
//将分数一起取
192.168.25.153:6379> zrevrange zset1 0 -1 withscores
1) "d"
2) "6"
3) "b"
4) "5"
5) "c"
6) "1"


Key命令

设置key的过期时间。
Expire key second:设置key的过期时间
Ttl key:查看key的有效期
Persist key:清除key的过期时间。Key持久化。

192.168.25.153:6379> expire set1 100
(integer) 1
//查询到期时间 -1为永久保存,<-1已经过期删除
192.168.25.153:6379> ttl Hello
(integer) 77


 Redis的持久化方案

Redis的所有数据都是保存到内存中的。
Rdb:快照形式,定期把内存中当前时刻的数据保存到磁盘。Redis默认支持的持久化方案。
aof形式:append only file。把所有对redis数据库操作的命令,增删改操作的命令。保存到文件中。数据库恢复时把所有的命令执行一遍即可。

在redis.conf配置文件中配置。
Rdb:
Aof的配置:

两种持久化方案同时开启使用aof文件来恢复数据库。



                                            
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: