`

在Ruby把MySQL做NoSQL用 Friendly简介

阅读更多
  Friendly是一个github上的一个插件,起源是因为FriendFeed把MySQL做NoSQL的用,具体参见这篇:
http://bret.appspot.com/entry/how-friendfeed-uses-mysql


  Friendly就是这样的作用,把MySQL变成一个文件数据库来用。NoSQL日趋狂热,schemaless是其中一个原因。客户端的改变可以将MySQL达到同样目的。下面是简单的介绍:



安装friendly


	sudo gem install friendly


在Rails里



	#environment.rb:
    config.gem "friendly"


#and create a config/friendly.yml:

	development:
	  :adapter:  "mysql"
	  :host:     "localhost"
	  :user:     "root"
	  :password: "swordfish"
	  :database: "friendly_development"


没有使用Rails:
	Friendly.configure :adapter  => "mysql",
	                   :host     => "localhost",
	                   :user     => "root",
	                   :password => "swordfish",
	                   :database => "playing_with_friendly"


创建Model


	class BlogPost
	  include Friendly::Document
	   
	  attribute :author, String
	  attribute :title,  String
	  attribute :body,   String
	end


创建Table

#script/console:

	Friendly.create_tables!


索引

	class BlogPost
	  include Friendly::Document
	   
	  attribute :author, String
	  attribute :title,  String
	  attribute :body,   String
	   
	  indexes :author
	  indexes :created_at
	end     


#Run create_tables again and the index tables will be created for you.
	Friendly.create_tables!


创建Objects

#With familiar ActiveRecord syntax:
	BlogPost.create :author => "James Golick",
	                :title  => "Friendly has familiar syntax.",
	                :body   => "So, there's very little learning curve."


查询

	BlogPost.all(:author => "James Golick")


#Most recent posts:

	BlogPost.all(:order! => :created_at.desc)


缓存

#Install the memcached gem:

	sudo gem install memcached

#配置 Friendly:

	Friendly.cache = Friendly::Memcached.new(Memcached.new)

#Configure your model to cache:

	class BlogPost
	  include Friendly::Document
	   
	  attribute :author, String
	  attribute :title,  String
	  attribute :body,   String
	   
	  indexes :author
	  indexes :created_at
	   
	  caches_by :id
	end

0
0
分享到:
评论
1 楼 wangchao719 2010-06-14  
没有看出和普通的mysql有啥不同啊~~

相关推荐

    白皮书_MySQL_及_NoSQL使用指南

    ### 白皮书_MySQL_及_NoSQL使用指南 #### 核心知识点解析: **一、MySQL与NoSQL的融合** 随着大数据时代的到来,传统的关系型数据库管理系统(RDBMS)面临着前所未有的挑战,尤其是在处理大规模数据集、提供高...

    nosql 和大数据简介

    在当今的信息化时代,大数据和NoSQL数据库成为了技术领域中的热门话题。这两个概念不仅改变了我们处理数据的方式,也引领了新一代的数据存储与分析潮流。本文将深入探讨Nosql和大数据的相关知识点,帮助读者理解它们...

    12 NoSQL数据库_nosql_MYSQL_

    2. **查询语言**:MySQL使用SQL,有强大的查询和聚合功能;NoSQL查询语言各不相同,但通常不如SQL强大。 3. **可扩展性**:MySQL扩展性相对较弱,适合中小规模应用;NoSQL天生支持分布式,适合大规模应用。 4. **...

    NoSQL数据库技术实战

    NoSQL与大数据简介、NoSQL的数据一致性、NoSQL的水平扩展与其他基础知识、BigTable与Google云计算原理、Google云计算的开源版本——Hadoop、Dynamo:Amazon的高可用键值对存储、LevelDb——出自Google的Key-Value...

    nosql研发之路

    NoSQL数据库的出现,旨在解决传统关系型数据库在大数据处理、高并发访问及分布式环境下的不足,尤其是在Web 2.0时代,互联网应用对数据处理的需求日益增长,NoSQL数据库以其灵活的数据模型、水平可扩展性、高性能和...

    MySQL到NoSQL:数据的重思和查询方式的转换

    :在众多NoSQL数据库的轰炸下,身为数据工作者的你肯定在做是否迁移的考虑。而迁移后所面对的操作方式转换也是重点考虑的之一,Couchbase副总裁MCBrown认为过渡的首要工作就是对数据的重思,并讨论了查询方式的转换...

    NoSQL 在腾讯应用实践

    【NoSQL 在腾讯应用实践】 NoSQL,全称为“Not Only SQL”,是一种非关系型数据库,近年来在互联网行业中迅速崛起,特别是在web2.0时代,它解决了传统关系型数据库在处理大数据时面临的挑战。腾讯作为互联网巨头,...

    NoSQL在国内使用的案例.pdf

    "NoSQL 在国内使用的案例" NoSQL 数据库技术是指非关系型数据库的统称,它们设计的初衷是解决关系型数据库在大规模数据存储和高并发读写方面的局限性。随着互联网的发展,各种类型的应用层出不穷,对技术提出了更多...

    读书笔记:【Java学习+面试学习库】更新Mysql,NoSql,Java,消息队列微服务等知识.zip

    读书笔记:【Java学习+面试学习库】更新Mysql,NoSql,Java,消息队列微服务等知识

    nosql数据库简介.pptx

    随着技术的发展,NoSQL数据库在很多场景下与SQL数据库并存,形成混合使用模式,以充分利用各自的优点。例如,将频繁访问和性能要求高的数据存储在NoSQL中,而将稳定性要求高或变化频率低的数据存储在SQL数据库中。 ...

    【Java学习+面试学习库】更新Mysql,NoSql,Java,消息队列,微服务等知识.zip

    在给定的压缩包"【Java学习+面试学习库】更新Mysql,NoSql,Java,消息队列,微服务等知识.zip"中,包含了多个重要领域的学习资源,这对于提升Java开发者的技能和应对面试非常有帮助。以下是这些关键领域的详细说明: ...

    用于记录在工作和学习过程中积累的数据库使用知识和应用经验,重点为 Oracle 和 MySQL 以及其他 NoSQL.zip

    这个压缩包中的“kwan1117”文件可能包含了作者在Oracle、MySQL和NoSQL数据库使用过程中的笔记、案例分析、脚本示例等内容,读者可以通过阅读这些材料,进一步深入学习数据库技术,并结合自身需求进行实践,从而提升...

    什么是NoSQL?Web2.0和云计算的新宠儿.doc

    Digg、Twitter、Google、微软等等公司已经开始研究NoSQL,并在一些项目中进行实施。许多人甚至抛弃了MySQL开源数据库这个长期以来Web 2.0的宠儿,而改由NoSQL的方案来替代,因为优势实在是引人注目

    实验四:NoSQL和关系数据库的操作比较

    实验中,对于MySQL,除了使用SQL命令行工具进行操作,还展示了如何通过Java客户端编程接口(JDBC)进行数据库交互,例如使用`PreparedStatement`执行SQL语句,插入、查询和更新数据。 对于NoSQL数据库HBase、Redis...

    Java面试题合集(javaee,spring,springmvc,springboot,mybatis,mysql,nosql

    Java面试题合集涵盖了多个关键的技术领域,包括JavaEE、Spring框架、SpringMVC、SpringBoot、MyBatis、MySQL数据库以及NoSQL存储,特别是Redis。这些知识点在现代企业级应用开发中占据着核心地位,因此对它们的理解...

    【Java分布式事务】封装对MySQL NoSQL数据访问、实现分布式事务.zip

    【Java分布式事务】封装对MySQL NoSQL数据访问、实现分布式事务.zip 【Java分布式事务】封装对MySQL NoSQL数据访问、实现分布式事务.zip 【Java分布式事务】封装对MySQL NoSQL数据访问、实现分布式事务.zip 【Java...

    NoSQLBooster for MongoDB

    NoSQLBooster提供了一系列功能,旨在提升MongoDB的使用体验: 1. **图形化用户界面(GUI)**:NoSQLBooster提供了一个直观的GUI,允许用户通过简单的拖放操作和清晰的布局来执行查询、插入、更新和删除操作,极大地...

    NoSQL介绍PPT

    为什么使用NoSQL? 为什么使用NoSQL? NoSQL的分类 NoSQL有什么特点? NoSQL有什么特点? NoSQL是否完美? NoSQL的一些概念——CAP NoSQL的一些概念——ACID NoSQL的一些概念——BASE NoSQL的一些概念——BASE NoSQL...

    canal 的 mysql 与 redis/memcached/mongodb 的 nosql 数据实时同步方案

    以上就是关于“canal”的MySQL与“redis/memcached/mongodb”的NoSQL数据实时同步方案的主要知识点,涵盖了数据库技术、数据同步原理以及在实际应用中的挑战和解决方案。在实际操作中,需要结合具体业务需求和系统...

Global site tag (gtag.js) - Google Analytics