首页 > 代码库 > 为大型网站提速—redis

为大型网站提速—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 voidmain(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(newString(jr.get(k2)));
        } catch (Exception e) {
// TODO: handle exception
        }
    }
}

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

五.linux下的安装和使用。

技术分享

 

为大型网站提速—redis