Archive for the ‘未分类’ Category

8
Apr

redis java api

   Posted by: zu Tags: , ,

package com.weeego;
import redis.clients.jedis.Jedis;
/**
* @author 274836
*
*/
public class TestJedis {
/**
* @param args
*/
public static void main(String[] args) {
Jedis jedis = new Jedis(“10.79.6.86″,7777,1000);
jedis.set(“java”, “http://java.androidwhy.com”);
String value = jedis.get(“java”);
System.out.println(value);
jedis.set(“zuaa”, “1212″);
System.out.println(“设置key的有效时间”);
jedis.expire(“zuaa”, 1);
System.out.println(“三秒内读取值”+jedis.get(“zuaa”));
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(“三秒后读取值”+jedis.get(“zuaa”));
}
}
 
 
 
 
———-pom文件———
<project xmlns=“http://maven.apache.org/POM/4.0.0″ xmlns:xsi=“http://www.w3.org/2001/XMLSchema-instance”
xsi:schemaLocation=“http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd”>
<modelVersion>4.0.0</modelVersion>
<groupId>com.weeego</groupId>
<artifactId>jedis-test</artifactId>
<version>0.0.1-SNAPSHOT</version>
<dependencies>
<!– redis 客户端 –>
<dependency>
<groupId>redis.clients</groupId>
<artifactId>jedis</artifactId>
<version>2.0.0</version>
<type>jar</type>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
</dependencies>

</project>

附件列表

     

    8
    Apr

    redis 安装

       Posted by: zu

     
    下载后解压 tar zxvf redis-1.2.6.tar.gz 到任意目录
     
    解压后,进入redis目录
        cd /usr/local/redis-1.2.6  
        make  
        make install
     
    设置内存分配策略(可选,根据服务器的实际情况进行设置)
    /proc/sys/vm/overcommit_memory
    可选值:0、1、2。
    0, 表示内核将检查是否有足够的可用内存供应用进程使用;如果有足够的可用内存,内存申请允许;否则,内存申请失败,并把错误返回给应用进程。
    1, 表示内核允许分配所有的物理内存,而不管当前的内存状态如何。
    2, 表示内核允许分配超过所有物理内存和交换空间总和的内存
    值得注意的一点是,redis在dump数据的时候,会fork出一个子进程,理论上child进程所占用的内存和parent是一样的,比如parent 占用的内存为8G,这个时候也要同样分配8G的内存给child,如果内存无法负担,往往会造成redis服务器的down机或者IO负载过高,效率下降。所以这里比较优化的内存分配策略应该设置为 1(表示内核允许分配所有的物理内存,而不管当前的内存状态如何)
     
     
    启动redis
     redis-server /etc/redis.conf  
     
     
    测试redis
        [root@----]# redis-cli  
        set zuaa 1
        get zuaa
        “1”
     
    查看是否成功启动 
    $ ps -ef | grep redis   
    或 
    ./redis-cli ping 
    PONG
     
    关闭redis服务
        redis-cli shutdown  

    redis服务关闭后,缓存数据会自动dump到硬盘上,硬盘地址为redis.conf中的配置项dbfilename dump.rdb所设定
    强制备份数据到磁盘,使用如下命令

        redis-cli save 或者 redis-cli -p 6380 save(指定端口)

     
     
     
    其他:客户端也可以使用telnet形式连接。

    [root@dbcache conf]# telnet 127.0.0.1 6379 
    Trying 127.0.0.1… 
    Connected to dbcache (127.0.0.1). 
    Escape character is ‘^]’. 
    set foo 3 
    bar 
    +OK 
    get foo 
    $3 
    bar 
    ^] 
    telnet> quit 
    Connection closed.

    8
    Apr

    redis 配置进阶 主从

       Posted by: zu

    redis.conf的主 要配置参数的意义:

    daemonize 是否以后台进程运行,默认为no
    pidfile
    如以后台进程运行,则需指定一个pid,默认为
    /var/run/redis.pid
    bind
    绑定主机IP,默认值为127.0.0.1(注释)

    port
    监听端口,默认为6379
    timeout
    超时时间,默认为300(秒)

    loglevel
    日志记录等级,有4个可选值,debugverbose(默认值),noticewarning
    logfile
    日志记录方式,默认值为
    stdout
    databases
    可用数据库数,默认值为16,默认数据库为
    0
    save
    指出在多长时间内,有多少次更新操作,就将数据同步到数据文件。这个可以多个条件配合,比如默认配置文件中的设置,就设置了三个条件。

    save 900 1 900
    秒(15分钟)内至少有1key被改变
    save 300 10 300
    秒(5分钟)内至少有300key被改变
    save 60 10000 60
    秒内至少有10000key被改变
    rdbcompression
    存储至本地数据库时是否压缩数据,默认为yes
    dbfilename
    本地数据库文件名,默认值为
    dump.rdb
    dir
    本地数据库存放路径,默认值为
    ./
    slaveof
    当本机为从服务时,设置主服务的IP及端口(注释)

    masterauth
    当本机为从服务时,设置主服务的连接密码(注释)
    requirepass
    连接密码(注释)
    maxclients
    最大客户端连接数,默认不限制(注释)
    maxmemory
    设置最大内存,达到最大内存设置后,Redis会先尝试清除已到期或即将到期的Key,当此方法处理后,任到达最大内存设置,将无法再进行写入操作。(注释)
    appendonly
    是否在每次更新操作后进行日志记录,如果不开启,可能会在断电时导致一段时间内的数据丢失。因为redis本身同步数据文件是按上面save条件来同步的,所以有的数据会在一段时间内只存在于内存中。默认值为no
    appendfilename
    更新日志文件名,默认值为appendonly.aof(注释)

    appendfsync
    更新日志条件,共有3个可选值。no表示等操作系统进行数据缓存同步到磁盘,always表示每次更新操作后手动调用fsync()将数据写到磁盘,everysec表示每秒同步一次(默认值)。
    vm-enabled
    是否使用虚拟内存,默认值为no
    vm-swap-file
    虚拟内存文件路径,默认值为/tmp/redis.swap,不可多个Redis实例共享

    vm- max-memory
    只可以使用内存的最大值 如果超过了此值就使用虚拟内存了交换是使用次数少为主放在虚拟内存中去。默认值为0
     
    配置出从
    在配置文件redis.conf中加入
    # slaveof <masterip> <masterport>
    slaveof localhost 6380

    27
    Sep

    oracle数据库查询语句

       Posted by: zu

    select * from all_all_tables where owner=’****’;

    查询当前用户的所有的表