Redis存取的简单操作

redis是开发中一种高效存取的数据库技术,下面就看一下最简单的用java操作redis进行存取数据的操作`

public class RedisUtils {

    // 操作redis的客户端
    private static Jedis jedis = new Jedis("localhost", 6379);
    // 序列化工具类
    private static RuntimeSchema<User> schema = RuntimeSchema.createFrom(User.class);

    public static String put(User user){
        // 生成对应的数据库存储的键值
        String key = "name:" + user.getUsername();
        /*
            进行序列化操作得到字节数组
            user:要被序列化的对象
            LinkedBuffer.allocate(LinkedBuffer.DEFAULT_BUFFER_SIZE):缓冲区
            内部实现:schema.writeTo(output, message);
         */
        byte[] bytes =
                ProtostuffIOUtil.toByteArray(user, schema, LinkedBuffer.allocate(LinkedBuffer.DEFAULT_BUFFER_SIZE));
        // 存储键值
        String result = jedis.set(key.getBytes(), bytes);
        // 存储成功之后返回OK
        return result;
    }

    public static User get(String username){
        // 得到键的字节数组
        byte[] keyByte = ("name:" + username).getBytes();
        // 得到相应的值的字节数组
        byte[] bytes = jedis.get(keyByte);
        // 构建一个空的user对象
        User user = schema.newMessage();
        // 将值的字节数组反序列化操作存储到user对象中,内部:schema.mergeFrom(input, message);
        ProtostuffIOUtil.mergeFrom(bytes, user, schema);
        if(null != user){
            return user;
        }
        return null;
    }
}

工具类写完之后看一下简单的测试

public class RedisTest {

    @Test
    public void testPut(){
        User user = new User("张三", "123456");
        String result = RedisUtils.put(user);
        System.out.println(result);
    }

    @Test
    public void testGet(){
        User user = RedisUtils.get("张三");
        System.out.println(user);
    }
}

结果

OK
User{username='张三', password='123456'}

测试过程中两个需要注意的地方:
1.测试过程中redis服务器一定要开启,具体开启方法,进入redis目录下开启cmd,执行redis-server,注意中间是没有空格的。
2.测试需要的jar包
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值