前言
在之前的hibernate中我们用到了echache的二级缓存,那个是把文件存储在电脑硬板中。
我们本章节使用的缓存机制就是把数据存储在内存里,因为我们在上面一章中已经实现了VM其他的虚拟机。所以我们还是把Redis 给装在虚拟机里就行。
Redis
Redis 下载:可以下载官方最新版的5.0
下载完后就可以通过Winscp放到一个自己定好的位置(不明白的可以看一看linux虚拟环境搭建)
Redis的编译环境
一,解压
在把安装包移过来后,就可以解压:tar -zxvf redis-5.0.2
因为redis是c语言编写的所以我们要下载一个gcc 的编写环境,
输入:yum install gcc-c++
等待中,中间 yes|or|no ,输入y
二,make(编译)
到redis 5.0的目录下执行!
输入 make
等待编译结束,结束后,我们就可以启动redis了
输入:./src/redis-server redis.conf
可是这个redis默认就只有一个主线程,守护线程是默认关闭的
导致不能进行其他的操作。
对了,在修改文件之前最好考个复制:
所以我们要改变redis.conf这个文件
#daemonize no
为
daemonize yes
文件太大,可以用下面的方法查询到,
/相当于Ctrl+F
n是查找下一个
当然也是可以从Winscp里找到修改的
修改完毕后
我们可以发现进程就不是之前的那个主线程了。
所以我们也可以输入:./src/redis-cli
ping一个就代表可以使用了
Redis的可视化工具
下载地址:
链接:https://pan.baidu.com/s/1142MgakNexMq2rUgegKjgw
提取码:5xs7
当然也可以去官网下载
傻瓜式安装,
可是重点来了,这次我们是在我们自己的主机上安装的可视化工具。
所以要连接到虚拟机里的Redis
因此我们需要修改和配置相对应的配置。
一,增加端口号
firewall-cmd --zone=public --add-port=6379/tcp --permanent
跟新防火墙规则
firewall-cmd --reload
防火墙列表
firewall-cmd --zone=public --list-ports
防火墙状态
systemctl status firewalld
启动防火墙
systemctl start firewalld
先:firewall-cmd --zone=public --add-port=6379/tcp --permanent
再:firewall-cmd --reload
二,注释bind 127.0.0.1 ,增加一个密码
打开 vi redis.conf
注释掉bind 127.0.0.1
再找到
#找到下面这一行并去除注释,并添加密码(396行)
#requirepass foobared #修改前
requirepass 123456 #修改后
注1:配置完成密码后,以后登录就密码按下面的命令进行登录
输入 ./src/redis-cli -h 127.0.0.1 -p 6379 -a 123456
然后我们再用到可视化工具去连接的时候就可以连接上了
Redis操作语法
因为有了可视化工具,所以我们大可用工具创建值。
但是如果想用命令操作也是可以的
2. Redis支持五种数据类型
string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)
3. 通过命令操作redis(命令不区分大小写)
redis默认的数据库有16,mongodb是3个:admin/local/test
redis-cli #打开redis终端
select index #选择指定的数据库,默认的数据库有16,mongodb是3个:admin/local/test
#字符串
set name #保存
get name #获得
type name #查看类型
keys *
del name
#哈希(Hash),Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象
hset key attr1 value1 attr2 value2
hget key attr1
hgetall key
#列表(List)
lpush key value1 value2 value3
llen key
lindex key index
lrange key start stop #stop可以为-1,到末尾的意思
#Set是string类型的无序集合。集合成员是唯一的,这就意味着集合中不能出现重复的数据。
sadd key value #sadd idcard 100
sadd key value1 value2 vlaue3
scard key
sscan key cursor [MATCH pattern] [COUNT count]
exists key #检查key是否存在