重新安装Redis,在root用户下
make一下
修改配置文件
修改的三个地方
API操作
事务
锁
API代码
package redis;
import org.junit.Before;
import org.junit.Test;
import redis.clients.jedis.BinaryClient;
import redis.clients.jedis.Jedis;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
public class redisTest {
Jedis jedis=null;
@Before
public void testConnection(){
jedis=new Jedis("192.168.184.132",6379);
//String ping = jedis.ping();
//System.out.println(ping);
}
@Test
public void testRedisString(){
//jedis.set("k1","v1");
//jedis.append("k1", "666");
//Long k1 = jedis.strlen("k1");
//jedis.set("k2","1");
//jedis.incr("k2");
jedis.mset("k3","v3","k4","v4");
List<String> mget = jedis.mget("k1", "k2", "k3", "k4");
//String v1 = jedis.get("k2");
//System.out.println(v1);
System.out.println(mget.get(0)+"\t"+mget.get(1)+"\t"+mget.get(2)+"\t"+mget.get(3));
}
@Test
public void testRedisList(){
//jedis.lpush("l1","1","2","3","4");
//jedis.rpush("l1","5","6","7","8");
//List<String> l1 = jedis.lrange("l1", 0, -1);
//for (String s:l1){
// System.out.println(s);
//}
//String lindex = jedis.lindex("l1", 0);
//System.out.println(lindex);
//jedis.linsert("l1",BinaryClient.LIST_POSITION.BEFORE,"5","666666");
//jedis.lrem("l1",1,"666666");
//jedis.lset("l1",4,"0");
//jedis.lpush("l2","666");
jedis.rpoplpush("l1","l2");
}
@Test
public void testRedisset(){
//jedis.sadd("s1","1","2","3","4");
//Set<String> s1 = jedis.smembers("s1");
//for(String s:s1){
// System.out.println(s);
//}
//Boolean s1 = jedis.sismember("s1", "5");
//System.out.println(s1);
//Long s1 = jedis.scard("s1");
//jedis.srem("s1","4");
//String s1 = jedis.srandmember("s1");
// jedis.sadd("s2","1","2","4");
// Set<String> sinter = jedis.sinter("s1", "s2");
// for(String s:sinter) {
// System.out.println(s);
// }
// jedis.sinterstore("s3","s1","s2");
// Set<String> s3 = jedis.smembers("s3");
// for(String s:s3){
// System.out.println(s);
// }
// jedis.sdiffstore("s4", "s2", "s1");
// Set<String> s4 = jedis.smembers("s4");
// for(String s:s4){
// System.out.println(s);
// }
}
@Test
public void TestRedisHash(){
// jedis.hset("h1","name","zhangsan");
// String hget = jedis.hget("h1", "name");
// System.out.println(hget);
// HashMap<String,String> hashMap=new HashMap<>();
// hashMap.put("age","18");
// hashMap.put("sex","man");
// jedis.hmset("h1",hashMap);
// List<String> hmget = jedis.hmget("h1", "name", "age", "sex");
// Map<String, String> h1 = jedis.hgetAll("h1");
// for(String key:h1.keySet()){
// String value = h1.get(key).toString();
// System.out.println("key:"+key+"\t"+"value:"+value);
// }
// Set<String> h1 = jedis.hkeys("h1");
// for(String s:h1){
// System.out.println(s);
// }
//jedis.hincrBy("h1","age",5);
}
@Test
public void TestRedisZset(){
//jedis.zadd("z1",100,"zv3");
// Double zscore = jedis.zscore("z1", "zv1");
// System.out.println(zscore);
// Set<String> z1 = jedis.zrange("z1", 0, -1);
//for(String s:s1){
// System.out.println(s);
//}
// Set<String> z1 = jedis.zrangeByScore("z1", 80, 96);
// for(String s:z1){
// System.out.println(s);
// }
// Long z1 = jedis.zcard("z1");
Long z2 = jedis.zcount("z1", 80, 96);
Long zrank = jedis.zrank("z1", "zv3");
System.out.println(z1+"==="+z2+"===="+zrank);
}
}
Jedis jedis = new Jedis("127.0.0.1", 6379);// 连接redis
// -------------------- 字符串类型----------------------------
jedis.set("a", "我是a");// 字符串增加单个值 set key value
jedis.get("a");// 字符串获取单个值 get key
jedis.mset("b", "c", "c", "c");// 字符串设置多个值 mset key value value value ...
jedis.set("number", "1");
jedis.incr("number");// 字符串自增+1 incr key
jedis.incrBy("number", 10);// 字符串自增 incyby key number
jedis.decr("number");// 字符串自减-1 drcrby key
jedis.incrByFloat("number", 0.23456);// 自增float, incrbyfloat key floatValue
jedis.append("number", "asdasdasd");// 在字符后面追加 append key value
jedis.strlen("number");// 获取字符长度 strlen key
jedis.getSet("number", "getset");// 先get后set getset key value
jedis.getrange("number", 0, -1);// 获取部分字符 getrange key start end
jedis.setrange("number", 0, "index");// 给字符的指定下标更新值 setrange key index value
// --------------------list集合类型--------------------------
jedis.lpush("list", "4"); // 从左边插入元素 lpush key value value value ...
jedis.rpush("list", "3");// 从右边插入元素 rpush key value value ...
jedis.linsert("list", BinaryClient.LIST_POSITION.AFTER, "4", "insert");// 在某个元素前或者后面插入元素 linsert key before/after key's_value newValue
jedis.lpop("list");// 从集合的最左边删除一个元素 lpop key
jedis.rpop("list");// 从集合的最右边删除一个元素 rpop key
jedis.lrem("list", 1, "4");// 删除1个指定元素 lrem key count value
jedis.ltrim("list", 0, 2);// 把原来的集合列表重新裁剪,重新保存 ltrim key start end
jedis.lset("list", 0, "wwwewqqwew");// 更新集合指定下标的值 lset key index newValue
jedis.lrange("list", 0, -1);// 获取指定范围内的元素 lrange key start end
jedis.lindex("list", 0);// 获取集合下标是0的元素值 lindex key index
jedis.llen("list");// 获取集合长度 llen key
// --------------------set无序集合类型--------------------------
jedis.sadd("set", "1","2","3","4");//给一个set集合设值 sadd key value value value ...
jedis.srandmember("set",10);//从set集合里随机返回10个元素 srandmember key count
jedis.smembers("set");//返回set集合所有的元素 smembers key
jedis.scard("set");//返回set集合元素的个数 scard key
jedis.sismember("set", "isExistsValue");//查看某一个元素是否在集合内 sismember key value
jedis.srem("set", "1","2","3");//批量删除指定元素,可以删除一个,也可以删除多个 srem key value value ....
jedis.spop("set");//从set集合里面随机删除一个元素 spop key
jedis.spop("set", 10);//从set集合里面随机删除10个元素 spop key count
jedis.sinter("set","set2");//求集合间的交集 sinter key key
jedis.sunion("set","set2");//求集合间的并集 sunion key key
jedis.sdiff("set","set2");//求集合间的补集 sdiff key key
jedis.sinterstore("set", "set2");//求出交集并把交集新建为一个set类型的集合 sinterstore key key
jedis.sunionstore("set", "set2");//求出并集,并新建一个set类型的集合 sunionstore key key
jedis.sdiffstore("set", "set2");//求出补集,并新建一个set类型的集合 sdiffstore key key
// --------------------hash类型--------------------------
//hash类型的数据结构 形如 key:{{filed:value},{field:value} ...}
jedis.hset("hash", "field", "value");//hash设置单个值 hset key field value
jedis.hget("hash", "1");//获取dangefield的值 hget key field
jedis.hmget("hash", "1","2","3");//批量获取field hmget key value value value ...
jedis.hlen("hash");//获取hash的field个数 hlen key
jedis.hexists("hash", "1");//查看field == 1的元素是否存在 hexists key field
jedis.hkeys("hash");//獲取hash所有的field hkeys key
jedis.hvals("hash");//獲取hash所有的value hvals key
jedis.hgetAll("hash");//獲取所有的field-value hgetall key
Map<String,String> map = new HashMap<String,String>();
map.put("1", "1");
map.put("2", "2");
map.put("3", "3");
map.put("4", "4");
jedis.hmset("number", map);//批量设值hash值 hmset key field value field value field value field value....
jedis.hdel("number", "1","2");//批量删除hash中的field元素
jedis.hincrBy("number", "1", 10);//把field ==1 的field增加10
jedis.hincrByFloat("number", "1", 0.23);//把field == 1的value值增加0.23