redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hashs(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。
- Redis安装
去Redis官网http://redis.io/下载最新的安装包。下面以linux下的安装为例:
上传redis-2.4.17.tar.gz 到服务器 (自选目录,如/home/usr)
解压缩redis-2.4.17.tar.gz (tar –zxvf redis-2.4.17.tar.gz) 得到 redis-2.4.17目录
进入目录redis-2.4.17文件夹 (cd redis-2.4.17)
编译安装 (make && make install)
检查安装是否成功(成功后redis-2.4.17/src目录中会生成redis-server、redis-cli两个文件)
启动redis (执行redis-2.4.17/src目录下的redis-server文件如:./redis-server &)
打开redis客户端测试redis是否工作正常 (执行redis-2.4.17/src目录下的redis-cli文件:./redis-cli)
- Java操作Redis客户端Jedis
Jedis简单使用
Jedis jedis = new Jedis("10.11.20.140"); String keys = "name"; // 删数据 jedis.del(keys); // 存数据 jedis.set(keys, "zhangsan"); // 取数据 String value = jedis.get(keys); System.out.println(value);
使用Jedis池。池化实现Jedis使访问redis的效率更高。
初始化池
JedisPoolConfig config = new JedisPoolConfig(); config.setMaxActive(maxAcive); config.setMaxIdle(maxIdle); config.setMaxWait(maxWait); config.setTestOnBorrow(testOnBorrow); config.setTestWhileIdle(testWhileIdle); config.setMinEvictableIdleTimeMillis(minEvictableIdleTime); config.setTimeBetweenEvictionRunsMillis(timeBetweenEvictionRuns); config.setNumTestsPerEvictionRun(numTestsPerEvictionRun); pool = new JedisPool(config, redisIp, port);
从池中取jedis对象
Jedis jedis = pool.getResource();
释放jedis对象回到池
pool.returnResource(jedis);
- Jedis主要API
连接相关API
//默认使用0号数据库,这里可以选择 jedis.select(1); //清空当前数据库 jedis.flushDB(); //清空所有数据库 jedis.flushAll();
key相关API
String key = "zhang"; //key的有效期3s jedis.expire(key, 3); //重命名key jedis.rename("zhang", "zhang1"); //是否存在key,返回boolean jedis.exists(key); //遍历key Set<String> keys = jedis.keys("*");
String相关API
//设置key-value jedis.set("ye", "liang"); //根据key获得value System.out.println(jedis.get("ye")); //删除key jedis.del("ye");
Map相关API
//将map存入redis jedis.hset("student:1", "NUM", "1"); jedis.hset("student:1", "NAME", "zhangsan"); jedis.hset("student:2", "NUM", "2"); jedis.hset("student:2", "NAME", "lisi"); //删除某个map jedis.hdel("student:1", "NUM"); //获取map System.out.println(jedis.hget("student:1", "NAME")); //遍历map Set<String> fields = jedis.hkeys("student:2"); for(String field : fields){ System.out.println(field+":"+jedis.hget("student:2", field)); }
List相关API
//添加数据 jedis.lpush("lists", "aa"); jedis.lpush("lists", "bb"); jedis.lpush("lists", "cc"); //list长度 System.out.println(jedis.llen("lists")); //获得第一至第三个元素 System.out.println(jedis.lrange("lists", 0, 2)); //修改第一个元素 jedis.lset("lists", 0, "dd"); //获取第一个元素 System.out.println(jedis.lindex("lists", 0)); //删除从表头开始value为bb的一个元素 System.out.println(jedis.lrem("lists", 1, "bb")); //删除区间以外的数据 System.out.println(jedis.ltrim("lists", 0, 1));
Set相关API
//添加数据 jedis.sadd("sets", "aa"); jedis.sadd("sets", "bb"); jedis.sadd("sets", "cc"); //判断value是否在列表中 System.out.println(jedis.sismember("sets", "bb")); //整个列表值 System.out.println(jedis.smembers("sets")); //删除指定元素 System.out.println(jedis.srem("sets", "bb"));
SortedSet相关API
相关推荐
redis安装教程和java操作服务器端demo
java 对redis各类型的操作,maven管理项目。
Redis:使用Java与redis连接 Redis:使用Java与redis连接
java操作redis数据库实例,通过java语言如何操作redis数据库的源码
redis实现分布式锁(java/jedis),其中包含工具方法以及使用demo 本资源是利用java的jedis实现 redis实现分布式锁(java/jedis),其中包含工具方法以及使用demo 本资源是利用java的jedis实现
java操作redis的示例源码
此工程是将redis和spring的整合作为一个公共的工程,只需在你的maven工程的pom文件中引入该工程即可使用,并将该工程的类添加到你的spring扫描的base-package中即可
小白学习redis的必备文档,认识redis,安装reids,redis语法等等教程
详细描述Redis安装使用和在java中如何调用,包含jedis jar包
分布式Redis原子操作示例,近期项目中遇到分布式项目中多节点大并发操作redis同一个key。此案例利用java调用LUA脚本实现redis操作的原子性。分享出来大家参考。
在Windows环境下java使用Redis代码实例,内含redis在Windows下的详细安装教程及针对String,map,list,set等使用详细的实例!
Java操作Redis实例,操作封装.redis 连接池
RedisConfig:Redis配置类 设置数据存入 redis 的序列化方式,并开启事务,注入封装RedisTemplate等等
零基础学会REDIS缓存数据库在JAVA中的使用。从REDIS的安装和使用开始,到Java程序与REDIS数据库进行连接互动,简单明了。
这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是...
redis 案例。包含, 队列操作, socket通信, 以及 socket 和 redis 配合 redis 案例。包含, 队列操作, socket通信, 以及 socket 和 redis 配合
Java实现redis,linux安装redis,一分钟学会使用redis,就是这么简单
java实现对Redis数据的导入和导出,可以实现从这个服务器copy到另一台Redis服务器上。
Java操作Redis,实现String、List、Map的set和get,并且提供封装和Junit测试类,方便快捷的实现java对redis进行操作。
Redis安装部署与Java调用(内含单机版、集群版)