欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

java技术--Redis API 深入分析(二)

程序员文章站 2024-03-12 11:47:50
...

1.存储数据(内部编码)

(1)Redis内部使用一个redisObject对象来表示所有的key和value
     <1>redisObject主要的信息包括数据类型(type) ,编码方式(encoding) ,数据指针(ptr),虚拟内存(vm)
     <2>type代表一个value对象具体是何种数据类型(5种之一),encoding是不同数据类型在redis内部式
(2)将不同数据结构的数据编码成二进制数据存储在内存中

2.操作数据(命令、协议)

(1)Redis-cli:客户端命令
     <1>Redis提供了redis-cli  可以在命令行操作数据
     <2>Redis是一种基于键值对的NoSQL数据库,它的5种数据结构都是健值对中的值
     <3>对于键来说有一些通用命令
       1.keys *:查看所有健
       2.dbsize:健总数
       3.exists key:检查健是否存在
       4.del key [key ...]:删除键
       5.expire key seconds:键过期
       6.type key:键的数据结构类型
       7.object encoding key:值的内部编码
(2)客户端通信协议RESP
     <1>Redis 定制了RESP协议实现客户端与服务端的正常交互,这是一种基于TCP协议之上简单高效的协议
     <2>jedis实现了RESP协议。
(3)Redis客户端:jedis
     <1>获取jedis
       <dependency>
           <groupId>redis.clients</groupId>
           <artifactId>jedis</artifactId>
           <version>2.9.0</version>
           <type>jar</type>
           <scope>compile</scope>
       </dependency>
     <2>Jedis基本使用
         // 创建连接
         Jedis jedis = new Jedis("localhost", 6379);
        // 存储数据,key="foo",value="bar"
         jedis.set("foo", "bar");
       // 获取数据
        String value = jedis.get("foo");
    <3>Jedis连接池的使用
    //common-pool连接池配置,这里使用默认配置,后面小节会介绍具体配置说明
GenericObjectPoolConfig poolConfig=new GenericObjectPoolConfig();
//初始化Jedis连接池
JedisPool jedisPool=new JedisPool(poolConfig,"127.0.0.1",6379);
      JedisPool pool = new JedisPool(new JedisPoolConfig(), "localhost", 6379);
         jedis.set("foo", "bar");    
         String foobar = jedis.get("foo");
         jedis.zadd("sose", 0, "car");
         jedis.zadd("sose", 0, "bike");  
         Set<String> sose = jedis.zrange("sose", 0, -1);
         System.out.print(sose);



相关标签: java缓存技术专栏