您的位置:首页 > 数据库 > Redis

Java Redis初学之Hello World

2016-06-17 14:04 525 查看
本人比较懒博客很久都没有写过,最近一段时间稍微空闲一点,特意抽时间练习和完善一下一些底层的基础了解,
平时项目中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,value
HashMap<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下面的所有value
List<String> values = jedis.hvals("person");
for (String value : values) {
System.out.println(value);
}

// 删除person中某个属性
jedis.hdel("person", "address");

// 删除person
jedis.del("person");
}

// 字符串操作
public void handleString() {
RedisDB db = new RedisDB();
Jedis jedis = db.initConn();

// 保存key,value
jedis.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");
// 年龄+1
jedis.incr("age");
}

}


大家多练习, 还是很好撸的.....
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: