当前位置: 首页 > news >正文

深圳网站建设最专业的铁路工程造价信息网

深圳网站建设最专业的,铁路工程造价信息网,wordpress在分类内下一页,做单网站最开始使用的是MySQL,其使用的是磁盘IO方式较慢,无法满足一分钟成千上万次的访问,而使用内存IO的Redis就可以较好的满足。 Redis是NOSQL(Not Only SQL)中的键值存储数据库,性能好较灵活,是在内存中进行存储。 可以通…

最开始使用的是MySQL,其使用的是磁盘IO方式较慢,无法满足一分钟成千上万次的访问,而使用内存IO的Redis就可以较好的满足。

Redis是NOSQL(Not Only SQL)中的键值存储数据库,性能好较灵活,是在内存中进行存储。

可以通过redis-serve启动服务,通过redis-cli ip地址来连接。

redis没有严格的表结构,而是类似Map的存储方式,一般有16个数据库。

可以使用 select index 来选择不同的数据库,而向redis内部存放数据时,使用的方法也和向map中存放数据类似。set key value 或是mset key value key value .....。

存放数据时不同模块之间可以使用:进行分割,例如要存用户信息中的名字

set user:info:name lbw

存放数据时还可以设定过期时间 set name lbw ex 10(十秒过期),使用ttl key可以查询到相关时间,或者是使用 expire key sec 对以及存在的键设定过期时间

如果要获取数据使用 get key,随机获取键就是 randomkey,删除数据用 del key,如果要查询所有的键,key *,如果要判断某个键是否存在使用 exist key,如果要将数据转移到别的数据库, move key db,还可以对其重命名,rename key newname ,如果使用renamex 就会自动判断是否有重叠。

如果value是纯数字,则可使用自增自减操作incr key,decr key ,如果使用incrby等就可以加上自增的次数

使用 type key 可以查询value的数据类型

通常如果直接存储,形式为字符串,同时还有Hash,就是键值对的值也是一个类似HashMap。通常用来存类相关的数据 

Hash

存入时使用命令hset key key value.....,取出使用hget key 内层key。如果要一次性获取所有key值使用hgetall key

删除其中的一个字段,hdel key key ,删除hash:del hkey

hexists 判断某个字段是否存在,hlen 判断字段数目

hval key 一次性获得所有字段的值

但是hash内的值一定是字符串,且不能套娃

List

基本同Java的List

阻塞pop可以同时向多个队列要求数据,谁先有谁弹出

Set和SortedSet

也是和Set相同,不过更像数学上的集合可以进行运算

如果需要集合有序,则需要引入SortedSet,给每个元素附上一个分数,按分数排序,此处添加元素部分应该先写分数后写Key

持久化

由于Redis的所有数据都保存在内存,一旦断电数据丢失,因此将其保存到硬盘也就是持久化非常重要,主要有两种方法一种是直接复制数据保存,另一种是复制保存数据的过程重新对硬盘执行一次。

方法一 RDB

可以开启后台进程进行保存。

方法二 AOF

虽然RDB解决持久化问题,但每次都要完整复制数据库。造成不必要的内存呢开销,也不是实时保存,如果在保存前服务器崩溃依然会导致数据丢失,因此引出AOF,以日志形式记录每次的操作,再根据操作进行恢复,现在默认的方式就是方式2

但是这样依然有问题,大量指令会导致文件过于庞大,导致性能浪费,指令其实可以进行压缩,使用指令bgrwriteaof

或者再配置文件中设置自动重写

Redis也有事务和锁机制保证一段指令完整执行不受其他指令影响

Redis是将命令存储后在输入exec后统一执行

Redis的锁是乐观锁,MySQL与sync都是悲观锁

使用的是 watch key,针对该变量,有一个版本号,如果版本不变继续事务,如果发生改变就取消事务。
和Java进行交互

主要使用的包是jedis

想要调用Redis只需要创建Jedis对象

通过Jedis就可以调用Redis命令

和Spring框架结合,加入依赖只要注入RedisTemplate,所有值相关的操作都需要

RedisTemplate.opsForValue().命令() 字符串操作

opsForHash().命令() Hash操作

以此类推

删除就是直接delete,存在变为hasKey()

Redis此时的事务管理,Java中没有定义,可以借用JDBC的注解,但是内部还是使用Redis的命令

还可以通过Serializer将键值转换为JSON

http://www.dtcms.com/a/492222.html

相关文章:

  • 【第5篇】向量化处理步骤
  • 打靶场的练习
  • 绍兴网站关键词优化免费的行情软件网站在线使用
  • 河南省台前县建设局网站公司展示型网站
  • 嘉兴平湖网站建设公司官网设计公司
  • 做高仿表网站容易被k吗在贸易网站怎么做贸易
  • 手机商城网站如何医学ppt模板免费下载
  • 辽阳网站seo南京网站销售
  • 做网站为什么一定要去国外企业管理培训公司排行榜
  • AOSP之Android Automotive
  • Flink ProcessFunction 与低层级 Join 实战手册:实时画像秒级更新系统
  • 公司网站后台维护wordpress 附件 标签
  • 全国网站建设企业信息管理与信息系统专业
  • 电商网站建设教案桂林阳朔楼盘最新价格
  • 四川建设信息共享网站网站根目录验证文件在哪里
  • 全球首个真实物理环境机器人基准测试发布,具身智能迎来统一评测标准
  • 菏泽郓城住房和城乡建设局网站wordpress付费制插件
  • QT/C++ TCP/IP服务端程序
  • Linux-> TCP 编程3
  • 前端的学习与实战(一)
  • 优惠的网站建设百度竞价推广开户多少钱
  • LeNet网络
  • vivo官网网站服务中心庆阳网警
  • 闽清县城乡建设局网站网站访客qq统计系统
  • 使用NVIDIA cuVS优化向量搜索:从索引构建到实时检索
  • 高端网站制作物流案例网站
  • MySQL触发器
  • 无备案网站广告如何做seo优化排名营销
  • 做国际网站每年要多少钱这么注册免费网站
  • Linux中异常初始化和门设置函数的实现