redis使用

来源:互联网 发布:画图软件下载官方网站 编辑:程序博客网 时间:2024/06/06 00:08

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。现提供方法为常用方法,如果需要其他方法可将方法需求提交组长,评估后统一添加

公司开发环境

配置:

HostPort130.10.7.2436379130.10.7.2446379130.10.7.2456379

规定:使用redis时key必须以"项目名-"开头。

e.g.set rbac-foo barset 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-1test-prefix-2test-prefix-3test-prefix-4test-prefix-5test-prefix-6test-prefix-7test-prefix-8test-prefix-9