首页 > 代码库 > 为大型网站提速—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