java redis数据库_java对Redis数据库的操作

packagedao;importjava.util.HashMap;importjava.util.LinkedList;importjava.util.List;importjava.util.Map;importjava.util.Set;importentity.Grades;importentity.Student;importentity.Teacher;importnet.sf.json.JSONObject;importredis.BaseBO;public class RedisDao extendsBaseBO{public static void main(String[] args) throwsException{

RedisDao dao= newRedisDao();

Student stu= newStudent();

}private static final String H_TEA = "H_TEACHER";private static final String H_STU = "H_STUDENT";private static final String H_GRA = "H_GRADE";private static final String H_EMP = "H_EMPLOYEES";private static final String H_COM = "H_COMPANY";private static final String H_DEPT = "H_DEPT";/*哈希表的操作:field+value、field+value(包括list)*/

//添加实例field+value+使用hmset()函数

public boolean saveStudent(Student stu) throwsException{boolean flag = false;

String result=setBean(genSys(H_STU,stu.getStuid()),stu);if(result == null){returnflag;

}

flag= true;returnflag;

}//添加实例field+value(list)+使用hset()函数

public boolean saveGrades(Grades gra) throwsException{boolean flag = false;

JSONObject jsonobj=JSONObject.fromObject(gra);

getJedis().hset(genSys(H_GRA), gra.getName(), jsonobj.toString());

flag= true;returnflag;

}//多实例查询每个实例一个field

public MapfindGrades(){returngetJedis().hgetAll(genSys(H_GRA));

}//单个实例查询每个实例一个field

publicString findGrade(String field){

String jsonobj=getJedis().hget(genSys(H_GRA), field);returnjsonobj;

}//单实例查询每个实例有多个field

public Student findStudent(String key) throwsException{

Student stu= newStudent();return(Student) getBean(genSys(H_STU,key),stu);

}//更新数据

public boolean updateStudent(Student stu) throwsException{boolean flag = false;

String result=setBean(genSys(H_STU,stu.getStuid()),stu);if(result==null){

flag= true;

}returnflag;

}//删除实例中的信息

public boolean deleteStudent(intid,String name){boolean flag = false;

getJedis().hdel(genSys(H_STU,id),name);returnflag;

}/*list的操作*/

//添加实例+在结尾处加入元素

public voidsaverightstuid(String key,String id){

getJedis().rpush(genSys(H_EMP,key), id);

}//添加实例+在开始处加入元素

public voidsaveleftstuid(String key,String id){

getJedis().lpush(genSys(H_EMP,key), id);

}//删除实例并返回实例从左侧

publicString deleteleftStuid(String key){returngetJedis().lpop(genSys(H_EMP,key));

}//删除元素从右侧

publicString deleterightStuid(String key){returngetJedis().rpop(genSys(H_EMP,key));

}//查询实例

public List findStuid(String key, int start, intend){returngetJedis().lrange(genSys(H_EMP,key), start, end);

}//获取单实例

public String findSingleStuid(String key, intindex){returngetJedis().lindex(genSys(H_EMP,key), index);

}//保留一定数量的元素

public void keepStuid(String key, int start, intend){

getJedis().ltrim(genSys(H_EMP,key), start, end);

}//更新实例

public void updateStuid(String key, intindex, String value){

getJedis().lset(genSys(H_EMP,key), index, value);

}/*Set的操作*/

//添加元素

public voidsaveCompany(String key,String menber){

getJedis().sadd(genSys(H_COM,key), menber);

}//添加多个元素

public voidsaveCompanys(String key,String[] menbers){

getJedis().sadd(genSys(H_COM,key), menbers);

}//查询key中的全部元素

public SetfindCompanySet(String key){

Set set =getJedis().smembers(genSys(H_COM,key));returnset;

}//删除元素

public voiddeleteCompany(String key,String menber){

getJedis().srem(genSys(H_COM,key), menber);

}//删除一个键

public voiddeleteCompanys(String key){

getJedis().del(genSys(H_COM,key));

}/*Sorted Set的操作*/

//添加单个元素

public void saveDept(String key, intscore, String menber){

getJedis().zadd(genSys(H_DEPT,key), score, menber);

}//添加多个元素

public void saveDepts(String key, Mapmap){

getJedis().zadd(genSys(H_DEPT,key), map);

}//查询单个元素

public String findDept(String key, intscore){

Set set = getJedis().zrange(genSys(H_DEPT,key), score, score+1);

String dept=set.iterator().next();returndept;

}//查询键的多个元素

public Set findDepts(String key, int start, intend){

Set set =getJedis().zrange(genSys(H_DEPT,key), start, end);returnset;

}//删除一个键的多个元素通过index删除

public void deleteDepts(String key, int start, intend){

getJedis().zremrangeByRank(genSys(H_DEPT,key), start, end);

}//删除一个键的多个元素通过score

public void deleteDeptByScore(String key, int start, intend){

getJedis().zremrangeByScore(genSys(H_DEPT,key), start, end);

}//更新元素的score

public void updateDeptScore(String key, intscore, String member){

getJedis().zadd(genSys(H_DEPT,key), score, member);

}//更新元素的member

public voidupdateDeptMember(String key, String member){

getJedis().zincrby(genSys(H_DEPT,key),0, member);

}

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值