Dependencies
maven
http://130.10.8.208/repository/bksx-maven/
<dependency>
<groupId>com.sx</groupId>
<artifactId>bksx-redis</artifactId>
<version>v0.9.1.20170531</version>
</dependency>
Init
- 读取配置,构建
RedisConfig
配置对象。如下为示例代码,实际项目中根据实际配置文件读取方法进行构建。
private RedisConfig getConfig(){
RedisConfig rc = new RedisConfig();
Map<String, String> map = new HashMap<>();
map.put("host","130.10.7.243");
map.put("port","6379");
Map<String, String> map1 = new HashMap<>();
map1.put("host","130.10.7.244");
map1.put("port","6379");
Map<String, String> map2 = new HashMap<>();
map2.put("host","130.10.7.245");
map2.put("port","6379");
List<Map<String,String>> list = new ArrayList<>();
list.add(map);//单个redis实例配置一个ip端口map,redis集群时配置多个
list.add(map1);
list.add(map2);
rc.setRedis(list);
return rc;
}
- 调用初始化方法
SxRedis.init(getConfig());//参数为读取的配置信息
Test
SxRedis.set("foo","bar");
System.out.println("get foo from redis ,value is " +
SxRedis.get("foo"));
测试输出
get foo from redis ,value is bar
对象操作
class User implements Serializable{
private static final long serialVersionUID = 1L;
private String name;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", age=" + age +
'}';
}
}
User user = new User();
user.setAge(22);
user.setName("red");
SxRedis.set("user".getBytes(), SerializeUtil.serialize(user));
user = SerializeUtil.unserialize(SxRedis.get("user".getBytes()));
System.out.println(user);
测试输出
User{name='red', age=22}
其他使用方法请参考SxRedis
javadoc。现提供方法为常用方法,如果需要其他方法可将方法需求提交组长,评估后统一添加
公司开发环境
配置:
Host | Port |
---|---|
130.10.7.243 | 6379 |
130.10.7.244 | 6379 |
130.10.7.245 | 6379 |
规定:使用redis时key必须以"项目名-"开头。
e.g.
set rbac-foo bar
set bjsjzz-user-15212345678 red
Update
- add
keys
method
version
<dependency>
<groupId>com.sx</groupId>
<artifactId>bksx-redis</artifactId>
<version>0.9.2.v20170619</version>
</dependency>
test code
IntStream.range(1,10).forEach(key->{
SxRedis.set("test-prefix-"+key,key+"");
});
TreeSet<String> keys = SxRedis.keys("test-prefix-*");
keys.stream().forEach(System.out::println);
test print
test-prefix-1
test-prefix-2
test-prefix-3
test-prefix-4
test-prefix-5
test-prefix-6
test-prefix-7
test-prefix-8
test-prefix-9