虚拟机安装redis 以及 redis五种数据类型 key命令(过期时间) redis持久化方案 教科书笔记
2018-01-12 10:20
1071 查看
Redis的安装及启动
redis安装包链接:https://pan.baidu.com/s/1jJbmyW2 密码:ccg0Redis是c语言开发的。
安装redis需要c语言的编译环境。如果没有gcc需要在线安装。yuminstall gcc-c++
安装步骤:
第一步:redis的源码包上传到linux系统。
第二步:解压缩redis。
[html] view
plain copy
tar zxvf redis-3.0.0.tar.gz
第三步:编译。进入redis源码目录。make
[html] view
plain copy
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
1e92c
-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
[html] view
plain copy
root@localhost redis-3.0.0]# make
第四步:安装。make install PREFIX=/usr/local/redis PREFIX(这里必须大写)参数指定redis的安装目录。一般软件安装到/usr目录下
[java] view
plain copy
[root@localhost redis-3.0.0]# make install PREFIX=/usr/local/redis
//由于不是config配置的,所以需要指定安装文件夹,如果没有redis文件夹,会自动创建并安装
第五步: 启动redis(前端启动模式-----会占用终端界面)
[html] view
plain copy
[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
后端启动模式: 需要配置文件
将配置文件复制到安装目录下
cp redis.conf /usr/local/redis/binxiu 命令
[java] view
plain copy
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
[html] view
plain copy
[root@localhost redis-3.0.0]# cd /usr/local/redis/bin
root@localhost bin]# vim redis.conf
[html] view
plain copy
启动 root@localhost bin]# ./redis-server redis.conf
第六步: 关闭redis,查看进程关闭,kill+进程号 属于正常关闭,也可以在redis文件目录下执行 ./redis-cli shutdown
[html] view
plain copy
[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
[html] viewplain copy
[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数据类型常用的命令
[html] viewplain copy
String:key-value(做缓存)
Redis中所有的数据都是字符串。命令不区分大小写,key是区分大小写的。Redis是单线程的。Redis中不适合保存内容大的数据。
set key val
get key
incr
key:在原来的值上加一(注意这里数据类型必须为整数,字母什么的会报异常)
Decr key:减一
(使用场景:生成id)
Hash:key fields values(做缓存)
存:
hset hash1 fileld1 value
取值:
hget hash1 filed1
只取值不要key:
hvals hash1
查看所有的key:
hkeys hash1
既查看key又显示val: hgetall hash1
删除数据: hdel hash1 key
相当于一个key对于一个map,map中还有key-value
使用hash对key进行归类。
Hset:向hash中添加内容
Hget:从hash中取内容
List做数据缓存
List:有顺序可重复,适合做排队的处理,进程依次处理,取出数据后在list里面就不存在此条数据
//从左开始添加
192.168.25.153:6379> lpush list1 a b c d
(integer) 4
显示效果为:d c b a
//从右开始添加
192.168.25.153:6379> rpush list1 1 2 3 4
(integer) 8
显示效果为:1 2 3 4
//查看:取全部元素 从0到-1(-1即没有了)
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"
//取出左边第一个元素 lpop key ,取完数据就不存在(取值跟查的区别)
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:元素无顺序,不能重复 ,要是有重复的就会被过滤掉
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"
//删除命令:srem set1 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>
还有集合运算命令,自学。
//取AB集合差集,取A特有的 sdiff A B AB集合差集,取A特有的,反之同理
//取AB集合交集,取AB有共的 sinter A B
//取AB集合并集,取AB有所的 sunion seta setb
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
//会根据KEY排序
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
//升序显示KEY跟VALS的信息
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过期时间的命令
[html] viewplain copy
设置(重置)key的过期时间:Expire key
100 (即key再100秒之后删掉)
查看key的有效存活时间期 :Ttl key
清除key的过期时间,Key持久化(即把key值重新设置为-1状态):
Persist key
192.168.25.153:6379> expire set1 100
(integer) 1
//查询到期时间 -1为永久保存,持久化
当小于-1(如-2)时表示不存在
Redis的持久化方案
[html] viewplain copy
Redis的所有数据都是保存到内存中的。
Rdb:快照形式,定期把内存中当前时刻的数据保存到磁盘。Redis默认支持的持久化方案。
aof形式:append only file。把所有对redis数据库操作的命令,增删改操作的命令。保存到文件中。数据库恢复时把所有的命令执行一遍即可。
在redis.conf配置文件中配置。
Rdb: (默认)
save 900 1
在900秒之内有1个key发生了改变就保存一次
save 300 10
在300秒之内有10个key发生了改变就保存一次
save 60 10000
在60秒之内有10000个key发生了改变就保存一次
[html] view
plain copy
Aof的配置: (另一套持久化方案,默认不开启,因为开启配置会频繁的操作磁盘,每秒钟同步保存一次,这样性能就会有所下降,如果对数据库完整性比较高的话可以开启)
appendonly
no(yes) 关闭或者开启,所有命令会放到appendonly.aof文件里面(bin目录下)
cat appendonly.aof 查看该文件的内容
当两种持久化方案同时开启使用aof文件来恢复数据库。
相关文章推荐
- 虚拟机安装部署redis 启动 五种数据类型 key命令(过期时间) redis持久化方案
- 002-Redis五种数据类型-设置key的过期时间
- redis五种数据类型及常用命令-笔记
- redis命令及操作记录以及redis的五种数据类型介绍
- redis 一二事 - 设置过期时间,以文件夹形式展示key显示缓存数据
- redis 一二事 - 设置过期时间,以文件夹形式展示key显示缓存数据
- Redis主从备份以及key的过期时间配置
- Redis学习笔记五、Key数据类型
- redis 全局命令 查看所有的键,删除键,检查键是否存在,获取过期时间,键的数据结构类型
- Redis 学习笔记(二):数据类型与相关命令
- Redis安装以及基本数据类型
- Redis简介、与memcached比较、存储方式、应用场景、生产经验教训、安全设置、key的建议、安装和常用数据类型介绍、ServiceStack.Redis使用(1)
- (一)Redis笔记——简介 、key 、数据类型
- [Redis]Redis的五种数据类型与键值/服务器相关命令
- Redis数据类型的基本命令(笔记)
- redis 全局命令 查看所有的键,删除键,检查键是否存在,获取过期时间,键的数据结构类型
- Redis五种数据类型命令介绍(4)
- Redis设置Key的过期时间 – EXPIRE命令
- redis(一) 安装以及基本数据类型操作
- [redis]redis五种数据类型命令汇总整理