java如何操作非关系型数据库redis(

redis简单介绍:

是一种Nosql数据库,Nosql全称是Not Only SQL,是一种不同于关系型数据库的数据库管理系统设计方式。对NoSQL最普遍的解释是“非关系型的”,强调Key-Value Stores和文档数据库的优点,而不是单纯的反对RDBMS

So what can I do with Jedis?
All of the following redis features are supported:
•    Sorting
•    Connection handling
•    Commands operating on any kind of values
•    Commands operating on string values
•    Commands operating on hashes
•    Commands operating on lists
•    Commands operating on sets
•    Commands operating on sorted sets
•    Transactions
•    Pipelining
•    Publish/Subscribe
•    Persistence control commands
•    Remote server control commands
•    Connection pooling
•    Sharding (MD5, MurmureHash)
•    Key-tags for sharding
•    Sharding with pipelining
•    redis中文官方网站: http://redis.cn/
•    redis中文版命令参考: http://redis.readthedocs.org/en/latest/index.html
•    redis (Win32/64 Dušan Majkić.): https://github.com/dmajkic/redis/downloads
•    jedis 源码:  https://github.com/xetorthio/jedis
•    jedis jar: https://github.com/xetorthio/jedis/downloads

在java程序中,使用redis步骤:
    下载redis
redis (Win32/64 Dušan Majkić.):下载地址: https://github.com/dmajkic/redis/downloads

下载黄线部分
下载完成后,解压

打开黄线文件

起动redis-server.exe就可以进行如下测试了,不过在测试前还需要下载jedis开发包哦,注意在测试时,不要关闭redis-server.exe

注意,在做以下测试时,需要打开redis服务端
下载jedis开发包

jedis-2.1.0.jar是目前最新的开发包,里面增加了许多 新的方法。

如下图示例:

1.将jedis开发包加入到lib目录下

1Java中使用redis示例程序: 2Jedis jedis = new Jedis("localhost"6379); 3 4jedis.set("foo", "bar"); 5String value = jedis.get("foo"); 6 7测试代码 8import java.util.Iterator; 9import java.util.List; 10import java.util.Set; 11 12import redis.clients.jedis.Jedis; 13 14public class Test01 { 15 public static void main(String[] args) { 16 // 连接 17 Jedis jedis = new Jedis("localhost", 6379); 18 // 对字符串的操作 19 20 // 给名称为apple的key赋值 21 jedis.set("apple", "www.apple.com"); 22 // 返回名称为apple的key的value 23 // System.out.println(jedis.get("apple")); 24 25 // 将value追加到key原来值的末尾 26 // System.out.println(jedis.append("db", "mysql")); 27 // System.out.println(jedis.get("db")); 28 29 // 若key不存在,即把key设为value 30 // System.out.println(jedis.exists("myphone")); 31 // System.out.println(jedis.append("myphone", "nokia")); 32 33 // 对list操作 34 35 // 将student1插入到teacher列表的表头 36 // System.out.println(jedis.lpush("teacher", "student1")); 37 // 将student2插入到teacher列表的表头 38 // System.out.println(jedis.lpush("teacher","student2")); 39 // 返回teacher列表的长度 40 // System.out.println(jedis.llen("teacher")); 41 // 返回teacher列表中的元素,下表从0开始 42 // System.out.println(jedis.lrange("teacher", 0, -1)); 43 44 // java命令遍历 45 /* 46 * List<String> list=jedis.lrange("teacher", 0, -1); for (Iterator 47 * iterator = list.iterator(); iterator.hasNext();) { String string = 48 * (String) iterator.next(); System.out.println(string); } 49 */ 50 51 // set操作 52 53 // 向名称为dept的set中添加元素,成功返回1,失败返回0,无序 54 System.out.println(jedis.sadd("dept", "张三")); 55 System.out.println(jedis.sadd("dept", "老马")); 56 jedis.sadd("dept", "老马2"); 57 jedis.sadd("dept", "老马3"); 58 jedis.sadd("dept", "老马4"); 59 jedis.sadd("dept", "老马5"); 60 jedis.sadd("dept", "老马6"); 61 // 返回dept的所有元素 62 // System.out.println(jedis.smembers("dept")); 63 // 遍历 64 65 /* 66 * Set<String> set=jedis.smembers("dept"); for (Iterator iterator = 67 * set.iterator(); iterator.hasNext();) { String string = (String) 68 * iterator.next(); System.out.println(string); } 69 */ 70 // 返回dept中的元素个数 71 System.out.println(jedis.scard("dept")); 72 // 删除【老马】这个元素 73 System.out.println("删除某个元素" + jedis.srem("dept", "老马")); 74 System.out.println(jedis.smembers("dept")); 75 76 // 有序集(个人理解,有序集,就是有序的set集合) 77 78 /* 79 * //向class中添加元素,100用于排序 System.out.println(jedis.zadd("class", 100, 80 * "老马")); System.out.println(jedis.zadd("class", 100, "老马dd")); 81 * //若"老马"元素存在,则用88替换以前的数据 jedis.zadd("class", 88, "老马"); 82 * //返回"老马"元素的scope值 System.out.println(jedis.zscore("class","老马")); 83 * System.out.println(jedis.zadd("class", 12, "老张")); 84 * //显示class中所有的元素(元素按scope从小到大排列) 85 * System.out.println(jedis.zrange("class", 0, -1)); //返回class中元素的个数 86 * System.out.println(jedis.zcard("class")); jedis.zrem("class", 87 * "老马dd"); System.out.println(jedis.zrange("class", 0, -1)); 88 * //显示class中所有的元素(元素按scope从大到小排列) 89 * System.out.println(jedis.zrevrange("class", 0, -1)); 90 */ 91 } 92} 93体会:1.通过引入jedis开发包,可通过java程序操作redis数据库 942. reids提供了多种命令,来操作set,list,zset,string等数据类型,多熟悉,对号入座哦,呵呵 953. 与java中提供的操作集合的方法对比学习 964. 命令比关系数据库简单,各个元素之间没有关系也可存入,这是NOSQL与关系数据库的一点区别(个人的一点小小体会)
点赞
收藏

评论区

加载中...

相关推荐

MySQL:[Err] 1292 - Incorrect datetime value: ‘0000-00-00 00:00:00‘ for column ‘CREATE_TIME‘ at row 1

文章目录问题用navicat导入数据时,报错:原因这是因为当前的MySQL不支持datetime为0的情况。解决修改sql\mode:sql\mode:SQLMode定义了MySQL应支持的SQL语法、数据校验等,这样可以更容易地在不同的环境中使用MySQL。全局s

Oracle 分组与拼接字符串同时使用

SELECTT.,ROWNUMIDFROM(SELECTT.EMPLID,T.NAME,T.BU,T.REALDEPART,T.FORMATDATE,SUM(T.S0)S0,MAX(UPDATETIME)CREATETIME,LISTAGG(TOCHAR(

手写Java HashMap源码

HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程HashMap的使用教程22

Python3:sqlalchemy对mysql数据库操作,非sql语句

Python3:sqlalchemy对mysql数据库操作,非sql语句python3authorlizmdatetime2018020110:00:00coding:utf8'''

MongoDB的安装与使用

1NoSQL简介NoSQL(NoSQLNotOnlySQL),意即"不仅仅是SQL";NoSQL是指非关系型的数据库,有时也称作NotOnlySQL的缩写,即"不仅仅是SQL",是对非传统关系型数据库管理系统的统称;NoSQL用于超大规模数据的存储(数据存储不需要固定的模式,无需多余操

Redis安装及前后置启动

Redis简单介绍及在Linux上安装(这里测试用是版本:redis3.0.0.tar.gz)一:什么是Redis?redis就是C语言编写的一个高性能的键值存储(keyvalue)的非关系型数据库(NoSql)。二:非关系型数据库的优点与缺点优点:可以轻松地处理海量数据缺点:1.没有主外键,