首先看一下redis中的配置文件信息
- bind表示只能通过本机访问
- tcp-backlog tcp协议中的三次握手
- tionenout 表示超时时间,写成0表示永不超时,单位是秒
- daemonize yes把no改成yes,表示redis可以后台启动
- security用来设置密码,默认是没有密码
Redis6中新添加了三种数据类型:
1.Bitmaps 用户是否访问过该网页,通过位操作的形式来表示,0表示没有,1表示访问过
2.Hyperloglog 可以用来统计页面的访问量
3.Geospatial 可以用来表示地理位置,经纬度,用来计算两城市之间的直线距离
通过jedis来操作redis
jedis相当于是一个辅助工具,可以远程操作redis但是要修改几个配置
1.bind注释掉,要不然别的机器不能访问
2.protect-mode 改成no
3.把虚拟机中的防火墙关掉
事务:就是一个单独的隔离操作,其他的不能插队,例如在电商中整点抢购秒杀中,会存在多个用户同时操作,会引起库存出现负数的问题
在redis中通过multi命令来表示组队阶段,只是个排队但是不执行,通过exec命令来执行排队中等待的操作,通过discard来打断命令
解决事务有两种办法:悲观锁和乐观锁
悲观锁:相当于在操作的时候,只能有一个认进行操作,其他人必须等待,只有等一个人操作完了才能进行下一步操作
乐观锁:谁先操作那么就会更改版本号,另一个用户操作时,会把数据库中版本号与其进行对比,适用于多读的应用类型,提高吞吐量
在redis中,用watch命令来对key进行监视,相当于锁的意思,可以避免多线程同时运行造成的错误