使用redis小结

 最近频繁看到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();
        }

}


猜你喜欢

转载自blog.csdn.net/hewenya12/article/details/49303725