1 packagecom.test.redis;2
3 importorg.junit.Test;4 importredis.clients.jedis.Jedis;5
6 importjava.util.HashMap;7 importjava.util.List;8 importjava.util.Map;9 importjava.util.Set;10
11 /**
12 * 学习使用redis13 * Created by Administrator on 2016/2/19.14 */
15 public classHelloRedis {16 private static final Jedis jedis = new Jedis("127.0.0.1",6379);17
18 public static voidmain(String[] args) {19 jedis.set("test","Hello Redis");20 String test = jedis.get("test");21 System.out.println(test);22 jedis.del("test");23 }24
25 /**
26 * 一些操作27 */
28 @Test29 public voidtestOption(){30 //查看redis是否运行
31 System.out.println(jedis.ping());32 String s =jedis.flushDB();33 System.out.println("清空后:"+s);34
35 System.out.println(jedis.echo("foo"));36
37 jedis.set("foo","存储变量foo");38 Boolean is = jedis.exists("foo");39 System.out.println("foo是否存在:"+is);40
41 Set keys = jedis.keys("*");42 System.out.println("数据库中所有的keys:"+keys);43
44 Set keys1 = jedis.keys("f*");45 System.out.println("数据库中以 f 为前缀的keys"+keys1);46
47 String foo = jedis.type("foo");48 System.out.println("foo的类型:"+foo);49
50 jedis.del("foo");51 }52
53 /**
54 * jedis存储字符串55 */
56 @Test57 public voidtestString(){58 jedis.flushDB();59 //--添加数据--
60 jedis.set("name","miao");61 System.out.println("取出name:"+jedis.get("name"));62
63 //取出元数据,并修改
64 String name = jedis.getSet("name", "被取出后修改");65 System.out.println("取出:"+name+" 修改:"+jedis.get("name"));66 String name1 = jedis.getrange("name", 0,5);67 System.out.println("获取value值并截取(中文容易乱码):"+name1);68 //--覆盖--
69 jedis.set("name","覆盖了");70 System.out.println("取出重设置后的name:"+jedis.get("name"));71 //拼接
72 jedis.append("name"," be stronger!");73 System.out.println("拼接后的name:"+jedis.get("name"));74
75 jedis.del("name");76 System.out.println("删除后的name:"+jedis.get("name"));77 //设置多个
78 jedis.mset("name","miao","age","25","birth","1991-02-22");79 jedis.incr("age");//+1
80 System.out.println(jedis.get("name")+"-"+jedis.get("age")+"-"+jedis.get("birth"));81 jedis.del("name","age","birth");82 }83
84 /**
85 * redis操作map86 */
87 @Test88 public voidtestMap(){89 jedis.flushDB();90 //--添加数据--
91 Map map = new HashMap<>();92 map.put("name","miao");93 map.put("age","35");94 map.put("birth","1991-02-33");95 jedis.hmset("user",map);96 //取出
97 List user = jedis.hmget("user","name","age","birth");98 System.out.println(user);99 Map user1 = jedis.hgetAll("user");//取出user
100 System.out.println("user1="+user1);101 //jedis.del("user");102
103 //删除某个属性
104 jedis.hdel("user","birth");105 System.out.println(jedis.hmget("user","name","age","birth"));106 Long count = jedis.hlen("user");//user的属性的个数
107 System.out.println("属性个数:"+count);108 Boolean is = jedis.exists("user");//是否存在
109 System.out.println("是否存在:"+is);110 Set ukeys = jedis.hkeys("user");//user的所有属性
111 System.out.println(ukeys);112 List uvals = jedis.hvals("user");//user的所有属性值
113 System.out.println(uvals);114
115 jedis.del("user");116 }117
118 /**
119 * redis操作list120 */
121 @Test122 public voidtestList(){123 jedis.flushDB();124 //查看
125 List users = jedis.lrange("users", 0, -1);126 System.out.println("list:"+users);127 //向左插入
128 jedis.lpush("users","miao");129 jedis.lpush("users","rui");130 jedis.lpush("users","feng");131 //向右插入
132 jedis.rpush("users","ming");133 jedis.rpush("users","hong");134 jedis.rpush("users","xing");135 System.out.println("(注意顺序)插入的结果:"+jedis.lrange("users",0,-1));136 //长度
137 Long len = jedis.llen("users");138 System.out.println("list长度:"+len);139 //子串
140 System.out.println("取出索引0到1的数据:"+jedis.lrange("users",0,1));141 //修改单个值
142 jedis.lset("users",0,"我变成第一个");143 System.out.println("修改单个值后:"+jedis.lrange("users",0,-1));144 //获取指定下标的值
145 String users1 = jedis.lindex("users", 0);146 System.out.println("下标0为:"+users1);147 //删除指定下标的值
148 Long lrem = jedis.lrem("users", 0,"我变成第一个");149 System.out.println("删除下标0结果:"+lrem+" |"+jedis.lrange("users",0,-1));150 //删除区间之外的值151 //jedis.ltrim("users",1,2);152 //出栈
153 String users2 = jedis.lpop("users");154 System.out.println("左出栈:"+users2+" |"+jedis.lrange("users",0,-1));155 String users3 = jedis.rpop("users");156 System.out.println("右出栈:"+users3+" |"+jedis.lrange("users",0,-1));157
158 jedis.del("users");159 System.out.println(jedis.lrange("users",0,-1));160 }161
162 /**
163 * jedis set164 */
165 @Test166 public voidtestSet(){167 //添加
168 jedis.sadd("user","miao");169 jedis.sadd("user","rui");170 jedis.sadd("user","feng");171 jedis.sadd("user","ming");172 jedis.sadd("user","hong");173 jedis.sadd("user","xing");174 //查看
175 Set user = jedis.smembers("user");176 System.out.println("set: "+user);177 //移除
178 jedis.srem("user","miao");179 System.out.println("移除后: "+jedis.smembers("user"));180 //判断是否存在
181 Boolean is = jedis.sismember("user", "rui");182 System.out.println("rui是否存在: "+is);183 //随机取出一个
184 String one = jedis.srandmember("user");185 System.out.println(one);186 System.out.println(jedis.srandmember("user",2));187 //返回个数
188 Long count = jedis.scard("user");189 System.out.println("user个数:"+count);190
191 jedis.del("user");192
193 }194
195 /**
196 * zset197 * 有序的set198 */
199 @Test200 public voidtestZset(){201 jedis.flushDB();202 //添加
203 jedis.zadd("zkey",12.1,"十二");204 jedis.zadd("zkey",11.1,"11");205 jedis.zadd("zkey",21.1,"20");206 jedis.zadd("zkey",41.1,"41");207 jedis.zadd("zkey",4,"4");208 //查看
209 Set zkey = jedis.zrange("zkey", 0, -1);210 System.out.println("可以看到是以score排序的:"+zkey);211 }212
213 /**
214 * 排序215 */
216 @Test217 public voidtestSort(){218 jedis.del("list");219 jedis.rpush("list","1");220 jedis.rpush("list","4");221 jedis.rpush("list","2");222 jedis.rpush("list","20");223 jedis.rpush("list","5");224 jedis.rpush("list","6");225 jedis.rpush("list","67");226 System.out.println(jedis.lrange("list",0,-1));227 System.out.println("排序:"+jedis.sort("list"));228 System.out.println("排序不影响原存储:"+jedis.lrange("list",0,-1));229 }230
231
232
233 }