Java Redis初学之Hello World

来源:互联网 发布:天猫双11晚会网络直播 编辑:程序博客网 时间:2024/06/05 20:12
本人比较懒博客很久都没有写过,最近一段时间稍微空闲一点,特意抽时间练习和完善一下一些底层的基础了解,
平时项目中spring-redis集成用的比较多,今天特意来感受一下原声的redis和jdbc有点像哈!!话不多说,直接撸代码吧!
先上个Hello World以后再陆续更新更深一点的内容......

PS : 项目是maven环境的maven配置,redis是3.2【没有设置用户和密码】

1: maven配置,直接导入jedis配置文件就行, maven会把依赖的jar下载下来

  <dependency>
   <groupId>redis.clients</groupId>
   <artifactId>jedis</artifactId>
   <version>2.8.1</version>
  </dependency>

如果没有maven环境的同学,需要下载两个jar包(见上传图片)


2:下面是Hello World代码:注释也比较详细,大家要多练习,反复琢磨,举一反三,这样才能更好的理解,尤其是List操作的左右插入


import java.util.HashMap;import java.util.List;import java.util.Set;import redis.clients.jedis.Jedis;public class RedisDB {public synchronized Jedis initConn() {String ip = "127.0.0.1";int port = 6379;Jedis jedis = new Jedis(ip, port);return jedis;}public static void main(String[] args) {handleSet();}// Set操作public static void handleSet() {RedisDB db = new RedisDB();Jedis jedis = db.initConn();// 添加元素jedis.sadd("arrs", "1", "2", "3", "4");// 获取元素Set<String> arrs = jedis.smembers("arrs");for (String arr : arrs) {System.out.println(arr);}// 获取元素个数Long len = jedis.scard("arr");System.out.println(len);// 判断是否包含某个元素System.out.println(jedis.sismember("arrs", "1"));// 删除某个元素jedis.srem("arrs", "4");}// List操作(我们同时可以把List用作队列,左边塞入,右边取出)// # list在保存的时候如果已经存在相同的key,则不会再次保存,需要先删除再保存public static void handleList() {RedisDB db = new RedisDB();Jedis jedis = db.initConn();// 注意体会下面的lpush和rpush的区别,自己作图好体会一下jedis.lpush("nums", "0");jedis.rpush("nums", "1", "2", "3", "4", "5");// 取出的区间,两边都是闭区间List<String> lList = jedis.lrange("nums", 0, 5);for (String s : lList) {System.out.println(s);}jedis.del("nums");// ------------------------------------------------------jedis.rpush("names", "杨二");jedis.lpush("names", "张三", "李四", "王五", "赵六", "孙七");List<String> list = jedis.lrange("list", 0, 1);for (String s : list) {System.out.println(s);}jedis.del("names");}// Map操作public static void handleMap() {RedisDB db = new RedisDB();Jedis jedis = db.initConn();// 保存key,valueHashMap<String, String> dataMap = new HashMap<String, String>();dataMap.put("name", "Moon");dataMap.put("age", "25");dataMap.put("address", "sichuan");jedis.hmset("person", dataMap);// 获取key为person中的一个或多个属性List<String> infoList = jedis.hmget("person", "name", "age");for (String info : infoList) {System.out.println(info);}// 获取当前map中的属性个数Long len = jedis.hlen("person");System.out.println(len);// 获取当前key下面的所有属性Set<String> keys = jedis.hkeys("person");for (String key : keys) {System.out.println(key);}// 获取当前key下面的所有valueList<String> values = jedis.hvals("person");for (String value : values) {System.out.println(value);}// 删除person中某个属性jedis.hdel("person", "address");// 删除personjedis.del("person");}// 字符串操作public void handleString() {RedisDB db = new RedisDB();Jedis jedis = db.initConn();// 保存key,valuejedis.set("name", "Moon");System.out.println(jedis.get("name"));// 追加内容jedis.append("name", " is my lover!");System.out.println(jedis.get("name"));// 删除内容jedis.del("name");// -------------------------------------// 设置多个键值jedis.mset("name", "Moon", "age", "34", "address", "sichuan");// 年龄+1jedis.incr("age");}}

大家多练习, 还是很好撸的.....

0 0