使用Redis+java(模仿数据库)实现对象存取和读取
实现前要引入Redis架包
maven项目
- <dependency>
- <groupId>redis.clients</groupId>
- <artifactId>jedis</artifactId>
- <version>2.9.0</version>
- </dependency>
一、创建类:User
- package com.wbg.mr.entity;
- public class User {
- String uid;
- String userName;
- String passWord;
- String name;
- public User() {
- }
- public User(String uid, String userName, String passWord, String name) {
- this.uid = uid;
- this.userName = userName;
- this.passWord = passWord;
- this.name = name;
- }
- @Override
- public String toString() {
- return "User{" +
- "id='" + uid + '\'' +
- ", userName='" + userName + '\'' +
- ", passWord='" + passWord + '\'' +
- ", name='" + name + '\'' +
- '}';
- }
- public String getUid() {
- return uid;
- }
- public void setUid(String uid) {
- this.uid = uid;
- }
- public String getUserName() {
- return userName;
- }
- public void setUserName(String userName) {
- this.userName = userName;
- }
- public String getPassWrod() {
- return passWord;
- }
- public void setPassWrod(String passWord) {
- this.passWord = passWord;
- }
- public String getName() {
- return name;
- }
- public void setName(String name) {
- this.name = name;
- }
- }
二、创建UserDao类
- package com.wbg.mr.dao;
- import com.wbg.mr.entity.User;
- import redis.clients.jedis.Jedis;
- import java.util.*;
- public class UserDao {
- private static Jedis jedis;
- public UserDao(Jedis jedis) {
- this.jedis = jedis;
- }
- /**
- * 添加
- */
- public void addUser(User user) {
- //首先保存user-id
- jedis.sadd("useradd", "user-" + user.getUid());
- //-----添加数据----------
- Map<String, String> map = new HashMap<String, String>();
- map.put("uid", user.getUid());
- map.put("userName", user.getUserName());
- map.put("passWord", user.getPassWrod());
- map.put("name", user.getName());
- jedis.hmset("user-" + user.getUid(), map);
- }
- /**
- * 获取单个User
- *
- * @return
- */
- public List<String> getById(String id) {
- if (exists()) {
- return jedis.hmget("user-" + id, "id", "userName", "passWord", "name");
- }
- return null;
- }
- /**
- * 获取全部
- *
- * @return
- */
- public List<User> listAll() {
- List<User> list = new ArrayList<User>();
- User user = null;
- if (exists()) {
- for (String useradd : jedis.smembers("useradd")) {
- user = new User();
- List<String> lists = jedis.hmget(useradd, "id", "userName", "passWord", "name");
- user.setUid(lists.get(0));
- user.setUserName(lists.get(1));
- user.setPassWrod(lists.get(2));
- user.setName(lists.get(3));
- list.add(user);
- }
- return list;
- }
- return null;
- }
- //删除全部
- public boolean delAll() {
- if (exists()) {
- jedis.del("useradd");
- return true;
- }
- return false;
- }
- //判断是否存在
- public boolean exists() {
- return jedis.exists("useradd");
- }
- }
三、测试
- public class Main {
- private static Jedis jedis =null;
- public static void main(String[] args) {
- //连接本地的 Redis 服务
- jedis = new Jedis("localhost");
- System.out.println("连接成功");
- //查看服务是否运行
- System.out.println("服务正在运行: "+jedis.ping());
- user();
- }
- public static void user(){
- UserDao user = new UserDao(jedis);
- user.delAll();
- user.addUser(new User("21","ldl","123456","刘地林"));
- user.addUser(new User("31","oyl","123456","欧一乐"));
- user.addUser(new User("41","tyj","123456","唐玉棋"));
- user.addUser(new User("51","cs","123456","陈胜"));
- user.addUser(new User("61","gsq","123456","郭世棋"));
- for (User user1 : user.listAll()) {
- System.out.println(user1);
- }
- }
使用Redis+java(模仿数据库)实现对象存取和读取的更多相关文章
- Redis应用场景 及其数据对象 string hash list set sortedset
原文地址:http://www.cnblogs.com/shanyou/archive/2012/09/04/2670972.html Redis开创了一种新的数据存储思路,使用Redis,我们不用在 ...
- Redis非关系型数据库
1.简介 Redis是一个基于内存的Key-Value非关系型数据库,由C语言进行编写. Redis一般作为分布式缓存框架.分布式下的SESSION分离.分布式锁的实现等等. Redis速度快的原因: ...
- Spring+Redis集成+关系型数据库持久化
本篇文章主要介绍了"Spring+Redis集成+关系型数据库持久化",主要涉及到Spring+Redis集成+关系型数据库持久化方面的内容,对于Spring+Redis集成+关系 ...
- Java开发各层对象专用名词含义 PO,VO,DAO,BO,DTO,POJO, BYO,Entity,JavaBean,JavaBeans
Java的几种名词(PO,VO,DAO,BO,POJO)解释 PO:persistant object 持久对象.可以看成是与数据库中的表相映射的java对象.最简单的PO就是对应数据库中某个表中的一 ...
- Redis 非关系型数据库 ( Nosql )
简介: Redis 是一个开源的,高性能的 key-value 系统,可以用来缓存或存储数据. Redis 数据可以持久化,并且支持多种数据类型:字符串(string),列表(list),哈希(has ...
- Redis 的底层数据结构(对象)
目前为止,我们介绍了 redis 中非常典型的五种数据结构,从 SDS 到 压缩列表,这都是 redis 最底层.最常用的数据结构,相信你也掌握的不错. 但 redis 实际存储键值对的时候,是基于对 ...
- java 用redisTemplate 的 Operations存取list集合
一 .存取为list类型 @RestController @RequestMapping("/test") @Slf4j public class TestController { ...
- JAVA与数据库MySQL相连接
JDBC(Java数据库连接体系结构): 是Java实现数据库访问的应用程序编程接口,主要功能是管理存放在数据库中的数据.通过接口对象,应用程序可以完成与数据库的连接,执行SQL语句,从数据库中获取结 ...
- mySql事务_ _Java中怎样实现批量删除操作(Java对数据库进行事务处理)?
本文是记录Java中实现批量删除操作(Java对数据库进行事务处理),在开始之前先来看下面这样的一个页面图: 上面这张图片显示的是从数据库中查询出的出租信息,信息中进行了分页处理,然后每行的前面提 ...
随机推荐
- webpack-loader原理
loader loader 是导出为一个函数的 node 模块.该函数在 loader 转换资源的时候调用.给定的函数将调用 loader API,并通过 this 上下文访问. loader配置 { ...
- “没有用var声明的为全局变量”这种说法不准确
结论: “没有用var声明的变量为全局变量”这样的说法不太正确,需要在这句话前面加一个前提,如果①变量前面没有用var声明,②在变量所在在的作用域链中没有这个变量名称,则设置该变量为全局变量. 代码 ...
- jQuery和css3控制箭头丝滑旋转
问题: 我们经常会遇见点击一个小三角使之丝滑的旋转180度上下旋转,怎么实现呢,需要css3搭配jq 来处理 如图:1.点击前 2.点击后(效果丝滑旋转) 1.html ...
- 03_Adaptive注解
[Adaptive注解] package com.alibaba.dubbo.common.extension; import com.alibaba.dubbo.common.URL; import ...
- 微信小程序开发4-JSON
1.JSON是JavaScript语法的子集 2.JSON的语法规则 数据在名称/值对中 数据由逗号分隔 大括号保存对象 中括号保存数组 3.JSON 值可以是: 数字(整数或浮点数) 字符串(在双引 ...
- tcp-full.cc
ns2--tcp-full.cc /* -*- Mode:C++; c-basic-offset:8; tab-width:8; indent-tabs-mode:t -*- */ /* * Copy ...
- golang 安装 guru vscode 安装失败
1.先从git上复制下来 git clone https://github.com/golang/tools 2.再$GOPATH/bin中安装 go install golang.org/x/too ...
- mysql获取表列信息、主键信息
/** * 获取物理表中已存在的列信息 * @param tbName 表名 * @return results 查询结果 */ fun getExistColumnInfo(tbName:Strin ...
- QT网络编程Tcp下C/S架构的即时通信
先写一个客户端,实现简单的,能加入聊天,以及加入服务器的界面. #ifndef TCPCLIENT_H #define TCPCLIENT_H #include <QDialog> #in ...
- msvcr100.dll丢失原因及解决方法
msvcr100.dll为Visual Studio 2010的一个动态链接库,如果某程序是用它开发出来的,那么该程序的运行就有可能需要此动态链接库.有些程序直接将其打包到了安装目录,并注册,就不会出 ...