`

简单实现ruby数据库加载和缓存加载

    博客分类:
  • RUBY
 
阅读更多
简单实现ruby数据库加载和缓存加载
2015-03-12 14
require 'active_record'
require 'redis-store'

ActiveRecord::Base.establish_connection(:adapter => "mysql2", :host => "<host>", :username => "<username>", :password => "<password>", :database => "db", :encoding => "utf8")

CACHE = ActiveSupport::Cache.lookup_store :redis_store,  'redis://127.0.0.1', {namespace: 'cache', expires_in: 300}

class RobotFilter < ActiveRecord::Base
  #获取数据库链接
  @robots = ActiveRecord::Base.connection.execute("select useragent, exclusion_useragent from robot_filters").collect { |e| [e[0].downcase, e[1].downcase] }
end

def eventinfo
    #将查找放入缓存,如果已生成则直接读取。
    return @eventinfo if self.instance_variable_defined? "@eventinfo"
    @eventinfo = CACHE.fetch("Eventinfo:#{event_id}") { Eventinfo.find_by_id event_id }
end
分享到:
评论

相关推荐

    Ruby-SecondLevelCacheActiveRecord的writethrough和readthrough缓存库

    当试图从数据库中检索数据时,如果该数据不在缓存中,read-through机制会自动从数据库加载数据,并将其放入缓存中,以便后续请求可以直接从缓存获取,提高响应速度。这样避免了重复的数据库查询,尤其是在处理大量...

    rubyPHP高性能的PHP框架

    sql缓存指之前执行过的查询sql语句以及他的结果缓存在内存中,在一段时间内用相同的sql语句执行查询操作时不经过数据库直接返回内存中数据。rubyPHP使用Redis以键值方式缓存sql语句以及他的对应结果。rubyPHP能够在...

    train_system:Ruby和Rails Ruby数据库基础知识火车系统,库(两天项目)

    【Ruby和Rails数据库基础知识】 Ruby是一种面向对象的、动态类型的编程语言,以其简洁、优雅的语法和强大的元编程能力著称。与Ruby搭配使用的Rails框架是Web开发领域的一个热门选择,它遵循“约定优于配置”...

    Memcached分布式缓存入门

    1. **读写分离**:Memcached可以作为数据库的前端缓存,实现读写分离,减轻数据库压力。 2. **缓存穿透**:防止缓存穿透可以使用“空值缓存”策略,即使数据库中没有的数据,也缓存一个标记值。 3. **缓存雪崩**:...

    ruby on rose开发文档-开发

    10. **Asset Pipeline**:Rails的资产管道管理CSS、JavaScript和图片等静态资源,支持Sass、CoffeeScript等预处理器,以及压缩和合并资产以提高页面加载速度。 11. **Rails Console**:提供了一个命令行接口,允许...

    ruby on rails在线考试系统

    10. 性能优化:Rails应用可以通过缓存、数据库索引、数据库连接池、延迟加载等技术提升性能。在线考试系统可能会大量使用缓存来减少数据库查询,提高响应速度。 以上是关于“ruby on rails在线考试系统”的主要知识...

    Ruby-TZInfoRubyTimezone库

    5. **性能优化**:TZInfo库允许缓存时区信息,减少重复加载,提高性能。 在压缩包`tzinfo-tzinfo-3fc5f9c`中,很可能包含了TZInfo库的源代码或者特定版本的二进制文件。如果要使用这个库,你需要将其正确地安装到你...

    缓存服务器memcached下载

    Memcached是一款高性能、分布式内存对象缓存系统,它被广泛应用于Web应用中,用于减轻数据库负载,提高页面加载速度,从而显著提升网站的整体性能。Memcached的设计理念是简单而高效,它将数据存储在内存中,通过...

    mencached 缓存

    在Web应用中,缓存可以显著提高页面加载速度,减少数据库的I/O操作。 - **分布式**: 分布式意味着多台服务器共享存储资源,共同处理请求。mencached支持跨多台机器部署,可以在分布式环境中提供高可用性。 - **...

    Ruby-性能测试(完整版)

    - **减少数据库查询**: 使用JOINs,预加载关联,避免N+1查询问题。 - **优化数据结构**: 选择适合问题的数据结构,如哈希表或数组,可以显著提高性能。 6. **并发与线程安全**: - 理解GIL(全局解释器锁)对MRI...

    数据缓存--Memcach详解及如何使用(带代码)?

    4. **分布式**:多个Memcached服务器可以组成集群,通过一致性哈希算法实现数据分片,提高缓存容量和可用性。 **二、Memcached的安装与配置** 在大多数操作系统上,可以通过包管理器安装Memcached,例如在Ubuntu上...

    浅谈网站架构中缓存的应用

    缓存颠簸是指频繁地加载和卸载缓存数据的现象,这会导致缓存性能急剧下降。避免缓存颠簸需要合理的缓存设计和策略。 ### 分布式缓存系统的需求 随着系统规模的增长,单机缓存往往难以满足需求。分布式缓存系统提供...

    ruby on rails 3

    它支持SASS、CoffeeScript等预处理器,并能自动合并、压缩和缓存资产,提高网站加载速度。 6. **Unobtrusive JavaScript (AJAX)**:Rails 3鼓励使用Unobtrusive JavaScript,将JavaScript和HTML分离,使得页面更具...

    memcached缓存

    5. **协议简单**:Memcached使用自定义的文本协议,易于理解和实现客户端。 ### 三、Memcached的使用场景 1. **动态网页**:对于经常访问的动态内容,如用户个人信息、热门商品等,可以缓存起来,减少数据库查询...

    Ruby-GuacamoleArangoDB的ODM框架

    通过这些特性,Ruby-Guacamole让ArangoDB的使用变得简单而高效,使得开发者能够专注于应用程序的核心逻辑,而不是数据库操作的细节。对于需要利用ArangoDB强大功能的Ruby开发者来说,这是一个非常有价值的工具。在...

    小程序茶叶商城源码(带后台 ruby)

    10. **性能优化**:为了提升用户体验,小程序端可能会采用缓存策略、懒加载等技术,后台则可能通过数据库优化、负载均衡等手段保证服务的稳定性和响应速度。 11. **测试与部署**:项目开发完成后,需要进行单元测试...

    ruby on rails安装环境.txt

    值得注意的是,这些操作通常应在Ruby的环境变量指向的目录下进行,以便gem能被正确地识别和加载。 ### SQLite3 数据库安装 文档还提到了SQLite3的安装,这是Rails中常用的轻量级数据库之一。安装过程中,首先将...

    memcached缓存系统

    Memcached,作为一个广泛使用的开源、高性能、分布式的内存对象缓存系统,其设计目的是为了提高动态Web应用的响应速度,通过将数据存储在内存中,减少对数据库的频繁访问,从而降低了系统的延迟和数据库的负载。...

    包含世界各地美食推荐的地图。_JavaScript_Ruby_下载.zip

    标题中的“包含世界各地美食推荐的地图”表明这是一个与地图应用或数据可视化相关的项目,可能是通过JavaScript和Ruby技术实现的。这个项目可能是一个互动式的Web应用程序,允许用户探索全球各地的美食。JavaScript...

    EhacaheMemcached.rar

    EhCache的核心特性包括缓存管理、缓存加载、缓存过期策略以及缓存更新通知等。它还支持JMX(Java Management Extensions)进行监控和管理。 Memcached,另一方面,是一个轻量级的、高性能的分布式内存对象缓存系统...

Global site tag (gtag.js) - Google Analytics