1、redis是什么?为什么用redis?
mysql数据库大家都知道吧,这个是一个关系型的数据库,表中有行列,与后端的bean里面的字段属性一致,多张表组成一个库,每次查询数据库,都在硬盘中访问,成千上万次查询mysql里面的数据,会导致查询速度慢,如果表里面的数据非常大的话,那么查询更是缓慢O(n) . 事务的存在不允许同时操作一组数据,必须事务完成以后才能对这组数据进行操作。
什么是事务?
就是对数据安全性提供保障的。你在淘宝上买东西,付款以后,因为商家服务器出了问题,你付款的数据没有存储到数据库中。你觉得扣款了,但是商家没有你付款的数据凭证啊?
有了事务,就会保障你买东西付款以后,商家存储你的付款数据成功。如果商家服务器崩溃了什么的,事务回滚,钱退回你的账户,这个流程没有成功,失败了。
事务的存在就成了低效率的排队机制。
redis的存在,你不用再后端 创建什么bean类,什么xml配置文件,redis是把数据存储在内存里面的,方便读写,读写速度非常快!!!不用mysql数据查询表,存储的是key-value键值对的形式;
没有什么关系,所以是非关系型数据库。
2、安装redis
下载地址:https://github.com/tporadowski/redis/releases
解压,之后直接双击redis-server.exe 就是启动服务器了;
我们现在需要用cmd开启一个窗口,来对redis进行操作,演示一下 cd命令到redis的安装目录下
输入
redis-cli.exe -h 127.0.0.1 -p 6379 回车
3、了解redis非关系数据库里面的数据类型
字符串类型 list类型 hashmap类型 set类型
字符串类型 设置值与取值
SET key value
出现OK代表操作没有问题
如果把TJN这个key的值取出来呢?
注意由于存储的数据都是键值对的形式,所以key不能重复,如果你非要用一个key,请先把之前的key清除 DEL key,不然报错
hashmap的存储格式是 HMSET key filed1 *** filed2 ** filed3......
这里报错,是因为key还是tjn 之前tjn是字符串存储方式 set key value
所以会报错,但是我非要用tjn这个怎么办呢? 清除之前的 DEL key ------- DEL tjn
对于hashmap如何去除value呢?
HGET tjn filed1
list的存储与取值
存储
lpush key value
取值
lrange key 索引首(一般是从0开始) 到要查询索引(10)
lrange key 0 10 是查询索引从0到10的数据,总共11个数据
Set的存储与取值
sadd key value
smembers key 循环遍历数据
其实这里的语句是非常好记的,
String SET key value GET key
hashmap HMSET key filed1 v1 filed2 v2 filed3 v3 HGET key filed1
list lpush key val lrange key 0 10
set sadd key val smembers key