使用redis小结

来源:互联网 发布:python idle 下载 编辑:程序博客网 时间:2024/06/17 06:26

 最近频繁看到redis这项技术,经过多方面了解后,对他进行一个描述:redis是一个内存型的数据库,不同于关系数据库的表结构,它主要存储的是key-value类型,既可用他做缓存技术,也可用于做数据持久化,数据的操作是在内存中处理的,redis会同时把数据存储到硬盘,用于解决高性能的数据解决方案。

  Redis类似数据库系统,有独立的服务端和客户端,操作使用NOSQL,常用的命令可以参考《redis入门指南》这本书。

 

 作为java程序员,目前redis的java客户端有两种,jdbc-redisjredis,从redis官方wiki上以及多种资料上的综合评价,jdbc-redis性能较差,目前主流的Java客户端还是jredis。

下载jredis的jar包,

http://pan.baidu.com/s/1jGgx3eu

下面给我一段测试的代码

public class TestRedis {        private JRedis jredis;        /**         * 建立与服务器连接         * @throws Exception         */        public void prepareJRedisClient() throws Exception {                System.out.println("** 尝试与服务器建立连接 **");                jredis = new JRedisClient("127.0.0.1",6379);                jredis.ping();                System.out.println("** 连接服务器成功 **");        }        /**         * 断开连接         */        public void closeJredis() {                if (jredis != null) {                        System.out.println("** 断开与服务器的连接 **");                        jredis.quit();                }        }        /**         * 测试set/get使用         */        public void testJRedis() {                try {                        jredis.flushdb();                        System.out.printf("** 放入值<%s=%s> **\n","foo","bar");                        jredis.set("foo", "bar");                        byte[] bytes = jredis.get("foo");                        String value = DefaultCodec.toStr(bytes);                        System.out.printf("** 获取到的值:%s **\n",value);                } catch (RedisException e) {                        e.printStackTrace();                }        }        /**         * 测试lpush/rpush/lrange使用         */        public void testSet() {                try {                        jredis.flushdb();                        System.out.printf("** 放入集合[%s,%s,%s,%s,%s] **\n","one","two","three","four","five");                        jredis.lpush("list", "three");                        jredis.lpush("list", "two");                        jredis.lpush("list", "one");                        jredis.rpush("list", "four");                        jredis.rpush("list", "five");                        List<byte[]> bytes = jredis.lrange("list", 0, -1);                        List<String> values = DefaultCodec.toStr(bytes);                        System.out.println("** 获取到的集合值"+values+" **");                } catch (RedisException e) {                        e.printStackTrace();                }        }        public static void main(String[] args) throws Exception {        TestRedis redisTest = new TestRedis();                redisTest.prepareJRedisClient();                redisTest.testJRedis();                redisTest.testSet();                redisTest.closeJredis();        }}


1 0
原创粉丝点击