为大型网站提速—redis

一.数据库

1.关系型数据库:Mysql,sqlserver,oracle

2.非关系型数据库(nosql):key-value存储数据库(redis)

             列表存储数据库

             文档型数据库(MongoDb)

             图形数据库

二.redis概述

redis是一种开源的nosql数据库,使用C语言编写,以key-value形式存储数据。它的数据是保存在内存中,同时redis可以定时把内存数据同步到磁盘,即可以将数据持久化。并且它比memcached支持更多的数据类型。支持主从同步。(与memcached的区别)

key         value

1            {name:张三,age:22}       json

String

                   list 列表,队列和栈

                   set

                       zset 有序集合

hash

redis支持主从同步。数据可以从主服务器向任意数量的从服务器上同步,从服务器可以是关联其他从服务器的主服务器。

 三.redis优势

1.运行在内存,速度快。数据虽然在内存,但可以持久化。

2.应对高并发,大数据性能上的压力。

3.redis支持多种数据类型。

4.redis支持主从同步。利用redis做缓存或session共享。

6.支持订阅发布功能。

四.redis为什么不能替代关系型数据库?

1.复杂的数据结构不好维护。

2.存在内存虽然快,但关系体现不出来。

3.存储成本高。

四.windows下的安装和使用。

java客户端hello,world
客户端jar包地址http://cloud.github.com/downloads/alphazero/jredis/jredis-1.0-rc2.jar
。版本目前有点老,支持到Redis 1.2.6。最新版2.0的还没release
在eclipse中新建一个java项目,然后添加jredis包引用。下面是个hello,world程序

package jredisStudy;
import org.jredis.*;
import org.jredis.ri.alphazero.JRedisClient;
public class App {
public static void
main(String[] args) {
try {
             JRedis  jr = new JRedisClient("192.168.56.55",6379); //redis服务地址和端口号
             String key = "mKey";
             jr.set(key, "hello,redis!");
             String v = new String(jr.get(key));
             String k2 = "count";
             jr.incr(k2);
             jr.incr(k2);
             System.out.println(v);
             System.out.println(new
String(jr.get(k2)));
        } catch (Exception e) {
// TODO: handle exception
        }
    }
}

好了redis环境已经搭建好了。后面会写写redis的各种类型和类型相关的命令和一些具体的应用场景。

五.linux下的安装和使用。

时间: 2024-10-04 21:38:56

为大型网站提速—redis的相关文章

大型网站提速关键技术(页面静态化,memcached,MySql优化)(二)

一:页面静态化 几个概念: 静态网址:  特点:1.利用seo(search engine optimization) 搜索引擎优化;2:访问速度快 3:防止sql注入

如何在URLOS中安装Redis为wordpress网站提速

快!快!快!我们都知道网站的加载速度直接影响用户体验.据研究发现,网站页面在3秒内加载完毕对用户而言是最佳的浏览体验.如果超过这个时间,用户跳出网站的几率会非常大.所以对于站长来说,提高速度是他们追求的终极目标之一.提高WordPress网站的其中一种方法就是使用WordPress缓存.本文我们探讨如何通过Redis技术加速网站. 为什么使用Redis技术 我们都知道WordPress采用的是动态数据库查询方式.翻译成白话,就是当用户访问文章或页面时,都会向数据库发送1个查询命令,数据库根据命令

我也要谈谈大型网站架构之系列(3)——死了都要说的缓存

说到缓存,我想大家跟我一样都很兴奋,当我们遭遇网站性能瓶颈的时候,缓存是一剂强心针,也是一粒紧急妈富隆,从而在优化网站 性能方面冠上了第一定律的帽子,我们前年在做淘应用的时候,就遭遇了性能瓶颈,短时间内采用缓存紧急优化,给我们大优化之前争取了 宝贵的时间. 一:缓存的种类 要说缓存有多少种,太多了,比如浏览器缓存,文件缓存,片段缓存,数据库缓存等等,合理利用这些缓存则能大幅度的提高系统性能, 利用不好反而会偷鸡不成蚀把米,给服务器造成巨大的压力,所以这里就存在一个缓存的使用原则的问题. 二:合理

大型网站系统架构的演化(转)

前言 一个成熟的大型网站(如淘宝.京东等)的系统架构并不是开始设计就具备完整的高性能.高可用.安全等特性,它总是随着用户量的增加,业务功能的扩展逐渐演变完善的,在这个过程中,开发模式.技术架构.设计思想也发生了很大的变化,就连技术人员也从几个人发展到一个部门甚至一条产品线.所以成熟的系统架构是随业务扩展而完善出来的,并不是一蹴而就:不同业务特征的系统,会有各自的侧重点,例如淘宝,要解决海量的商品信息的搜索.下单.支付,例如腾讯,要解决数亿的用户实时消息传输,百度它要处理海量的搜索请求,他们都有各

《大型网站技术架构》读书笔记之七:随需应变之网站的可扩展架构

此篇已收录至<大型网站技术架构>读书笔记系列目录贴,点击访问该目录可获取更多内容. 一.可伸缩与可扩展-傻傻分不清楚 上篇笔记我们学习了可伸缩架构,但在实际场合中,包括许多架构师也常常混淆可伸缩和可扩展,用可扩展表示伸缩性.那么在此,跟随作者我们来理清这两个概念,避免我们以后对其傻傻分不清楚. (1)扩展性(Extensibiltiy) 指对现有系统影响最小的情况下,系统功能可持续扩展或提升的能力.我们不禁想到了面向对象中一大原则:开闭原则,对扩展开放,对修改封闭.也就说,当系统新增一个功能时

《大型网站技术架构》读书笔记之六:永无止境之网站的伸缩性架构

此篇已收录至<大型网站技术架构>读书笔记系列目录贴,点击访问该目录可获取更多内容. 首先,所谓网站的伸缩性,指不需要改变网站的软硬件设计,仅仅通过改变部署的服务器数量就可以扩大或者缩小网站的服务处理能力.在整个互联网行业的发展渐进演化中,最重要的技术就是服务器集群,通过不断地向集群中添加服务器来增强整个集群的处理能力. 一.网站架构的伸缩性设计 1.1 不同功能进行物理分离实现伸缩 (1)纵向分离:将业务处理流程上得不同部分分离部署,实现系统的伸缩性: (2)横向分离:将不同的业务模块分离部署

大型网站MySQL深度优化揭秘 2

学无止境,老男孩教育成就你人生的起点! 相信自己相信老男孩!!! 老男孩-51cto-公开课-大型网站MySQL深度优化揭秘 部分整理有没跟上的抱歉 ? 目 录 大型网站MySQL深度优化揭秘????2 第1章 优化的思路和线路????2 1.1 网站优化的思路????2 1.2 MySQL优化,nginx这样的东西怎么优化?????2 第2章 硬件层面优化????3 2.1 数据库物理机????3 2.1.1 CPU????3 2.1.2 Memory????3 2.1.3 disk(磁盘IO

大型网站都是用什么语言

大型网站都是用什么语言写的(转)  小凡 2015-10-09 15:23:14 看看现在大型网站都是用什么语言写的? 不排除一个网站用多种技术!如淘宝是Java+php,底层是java,表现层是php.新浪,网易,腾讯应该也是用了多种技术. 据说是这样的:php,新浪,雅虎等用php较多.淘宝,腾讯用java较多.一般的部署是这样的:php,.net做前端视图的调用,和简单逻辑应用.像雅虎前cto说的那样,能用php的地方我们尽量用php.对性能要求稍高,逻辑复杂,维护量大,更改频繁的地方一般

大型网站系统架构的演化

前言 一个成熟的大型网站(如淘宝.京东等)的系统架构并不是开始设计就具备完整的高性能.高可用.安全等特性,它总是随着用户量的增加,业务功能的扩展逐渐演变完善的,在这个过程中,开发模式.技术架构.设计思想也发生了很大的变化,就连技术人员也从几个人发展到一个部门甚至一条产品线.所以成熟的系统架构是随业务扩展而完善出来的,并不是一蹴而就:不同业务特征的系统,会有各自的侧重点,例如淘宝,要解决海量的商品信息的搜索.下单.支付,例如腾讯,要解决数亿的用户实时消息传输,百度它要处理海量的搜索请求,他们都有各