redis在java程序中的用法

基础篇:redis在java程序中的用法


1.需要打开redis数据库服务

2.需要引入jedis.jar

   下载地址:http://download.csdn.net/download/guanfangyouyou/9792495

3.创建MyRedis类进行测试



import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import redis.clients.jedis.Jedis;


/**
 * 
 * @author weryou
 *
 */
public class MyRedis {


private Jedis jedis;


/**
* redis存储字符串
*/
public void testString() {
//输入IP地址和端口号取得连接
Jedis jedis = new Jedis("127.0.0.1", 6379);

//set(key,value) 和Map一样
jedis.set("key1", "王朝");
jedis.set("key2", "马汉");
jedis.set("key3", "张龙");
jedis.set("key4", "赵虎");
jedis.set("key5", "hello");

//删除某个字符串 删除后为null
jedis.del("key3");

//修改其实就是重新赋值
jedis.set("key4", "赵虎,老牛逼了");

//append 拼接字符串   和StringBuffer类似
jedis.append("key5", " world");

System.out.println(jedis.get("key1"));
System.out.println(jedis.get("key3"));
System.out.println(jedis.get("key4"));
System.out.println(jedis.get("key5"));

jedis.set("version", "1");

//进行加1操作,这里必须是int类型
jedis.incr("version");
//进行减1操作,int类型
jedis.decr("version");

//递增到设定的值 
jedis.incrBy("version", 99);
System.out.println(jedis.get("version"));
//递增到设定的值  
jedis.decrBy("version",55);
System.out.println(jedis.get("version"));

}

/**
* redis操作Map
*/
public void testMap() {
// -----添加数据----------
jedis = new Jedis("127.0.0.1", 6379);
Map<String, String> map1 = new HashMap<String, String>();
map1.put("name", "weryou");
map1.put("age", "27");
map1.put("tel", "138****5845");

Map<String, String> map2 = new HashMap<String, String>();
map2.put("name", "于大宝");
map2.put("age", "29");
map2.put("tel", "150****0000");
//-------以上是map放值不做过多赘述了---------

//把map存放在redis hmset
jedis.hmset("user1", map1);
jedis.hmset("user2", map2);

//取出user中的name, 注意结果是一个泛型的List
List<String> rsmap1 = jedis.hmget("user1", "name", "age", "tel");
List<String> rsmap2 = jedis.hmget("user2", "name", "age", "tel");
//第一个参数是存入redis中map对象的key,后面跟的是放入map中的对象的key,后面的key可以跟多个,是可变参数

System.out.println(rsmap1);
System.out.println(rsmap2);

//删除map中的某个键值
jedis.hdel("user1", "tel");
System.out.println(jedis.hmget("user1", "tel")); //删除后返回的是null

/*System.out.println(jedis.hlen("user1")); // 返回key为user1的键中存放的值的个数
System.out.println(jedis.hlen("user2")); // 返回key为user2的键中存放的值的个数

System.out.println(jedis.exists("user1"));// 是否存在key为user的记录 返回true
System.out.println(jedis.hkeys("user1"));// 返回map对象中的所有key
System.out.println(jedis.hkeys("user2"));
System.out.println(jedis.hvals("user1"));// 返回map对象中的所有value
System.out.println(jedis.hvals("user2"));*/

System.out.println("");
Iterator<String> iter = jedis.hkeys("user2").iterator();
while (iter.hasNext()) {
String key = iter.next();
System.out.println(key + ":" + jedis.hmget("user2", key));
}
}


/**
* jedis操作List
*/
public void testList() {
jedis = new Jedis("127.0.0.1", 6379);

//开始前,先移除所有的内容,不删除的话会累加
jedis.del("china football");

jedis.lpush("china football", "于大宝");
jedis.lpush("china football", "武磊");
jedis.lpush("china football", "张稀哲");
jedis.lpush("china football", "曾诚");
jedis.lpush("china football", "冯潇霆");

//这里的顺序是先进去的排在最后
System.out.println(jedis.lrange("china football", 0, 0));//china football是key; 0,0 表示从第1个元素开始取,取得第1个元素截至
System.out.println(jedis.lrange("china football", 2, 3));
System.out.println(jedis.lrange("china Football", 2, 3));//严格区分大小写
System.out.println(jedis.lrange("chinafootball", 2, 3));//区分空格
System.out.println(jedis.lrange("china football", 0, -1));//-1 表示全部

}


/**
* jedis操作Set
*/
public void testSet() {

jedis = new Jedis("127.0.0.1", 6379);
//添加
jedis.sadd("chinaFootball", "于大宝");
jedis.sadd("chinaFootball", "武磊");
jedis.sadd("chinaFootball", "郑智");
jedis.sadd("chinaFootball", "曾诚");
jedis.sadd("chinaFootball", "张玉宁");
jedis.sadd("chinaFootball", "郜林");

//移除张玉宁
jedis.srem("chinaFootball", "张玉宁");

System.out.println(jedis.smembers("chinaFootball"));// 获取所有加入的value
System.out.println(jedis.sismember("chinaFootball", "武磊"));//判断武磊是否在国家队
System.out.println(jedis.sismember("chinaFootball", "姚明"));//
System.out.println(jedis.srandmember("chinaFootball"));//最后一个元素
System.out.println(jedis.scard("chinaFootball"));// 返回集合的元素个数
}


public void testOrder() {

jedis = new Jedis("127.0.0.1", 6379);
//jedis 排序
//注意,此处的rpush和lpush是List的操作

//先清除数据再加入数据进行测试
jedis.del("a");

jedis.rpush("a", "1");
jedis.lpush("a", "6");
jedis.lpush("a", "3");
jedis.lpush("a", "9");
System.out.println(jedis.lrange("a", 0, -1)); 
System.out.println(jedis.sort("a")); 
System.out.println(jedis.lrange("a", 0, -1));
}

public static void main(String[] args) {
MyRedis kk = new MyRedis();
//kk.testString();
//kk.testMap();
//kk.testList();
//kk.testSet();
kk.testOrder();

}


}


 ***以上内容是我参考网上的列子写的,可能会有不足的地方,欢迎大家踊跃批评指正 ***

另外国足在昨天晚上在长沙贺龙体育场对阵韩国取得12强赛的首次胜利,于大宝头球破门打进全场唯一一粒进球,最终赢得比赛拿下宝贵3分,为进军2018俄罗斯世界杯增加一丝希望,祝贺国足。国足加油。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值