非关系型数据库redis-java基本操作
概述
redis是一个key-value的nosql数据库(非关系型数据库)。支持存储的value类型包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。为了保证效率,数据都是缓存在内存中。
下载Windows版Redis
Redis官网不支持Windows,可以去Github上下载,可以直接下载zip解压即可。
指定配置启动,可以在conf文件中配置密码等选项。
./redis-server.exe redis.windows.conf
启动后可以看到端口和PID,当然也可以在后台启动。

用redis-cli.exe -h 127.0.0.1 -p 6379连接redis服务。

redis执行语句
redis的命令:各种命令在这里
包下载
关于java操作redis的jar包可以使用Jedis,当然下载这个是要翻墙的啦,翻墙的话同志们可以去买各种vpn,也可以自己搭,自己搭建VPN服务器的话看这里,都嫌麻烦可以用lantern.还嫌麻烦的话度娘那也有.
代码
redis因为是非关系型数据库,所以没有表的概念,而且也没有sql语句.
public class RedisJava {
Jedis jedis = new Jedis("222.222.221.137",6379); //连接本地的 Redis服务
public static void main(String[] args) {
RedisJava redisJava = new RedisJava();
System.out.println("服务正在运行: "+redisJava.jedis.ping());
redisJava.save("sk1", "-value1");
redisJava.update("sk1", "sk111");
redisJava.findByKey("sk111");
redisJava.del("sk111");
redisJava.findAll();
redisJava.list();
redisJava.map();
redisJava.set();
redisJava.jedis.disconnect();
}
//添加数据(key/value)
public void save(String key,String value){
String result = jedis.set(key, value);
System.out.println("添加{"+key+":"+value+"},结果为"+result);
}
//根据Key查询数据
public String findByKey(String key){
String value = jedis.get(key);
System.out.println("get到"+key+"的值为"+value);
return value;
}
//修改key
public void update(String oldKey,String newKey){
System.out.println("检测是否有key:"+oldKey+",结果为:"+jedis.exists(oldKey));
jedis.rename(oldKey, newKey);
System.out.println("将key:"+oldKey+"重置为"+newKey);
}
//根据Key删除数据
public void del(String key) {
Long result = jedis.del(key);
System.out.println("删除的结果为:"+result);
}
//查询所有
public void findAll(){
// 获取keys数据并输出
Set<String> keys = jedis.keys("*");
Iterator<String> it=keys.iterator();
System.out.println("所有key:");
while(it.hasNext()){
String key = it.next();
System.out.println(key);
jedis.del(key); //删除所有key
}
}
//操作List
public void list() {
//存储数据到列表中,一条一条存
jedis.lpush("list", "FireFox");
jedis.lpush("list", "Google");
jedis.lpush("list", "IE");
// 从头添加,一次添加多条
jedis.lpush("list", "flash", "cisco", "catalin", "Google");
// 从尾添加
jedis.rpush("list", "walley", "jon");
// 返回List长度
System.out.println("list长度为:"+jedis.llen("list"));
// 取值
System.out.println("所有list:");
List<String> list = jedis.lrange("list", 0, -1);
for (String string : list) {
System.out.println(string);
}
}
//操作Map
public void map() {
jedis.hset("Mcity", "c1", "上海"); //key,map-key,map-value
System.out.println("取值:" + jedis.hget("Mcity", "c1")); //根据key,map-key,获取mapvalue
Map<String, String> map = new HashMap<String, String>();
map.put("c1", "徐州"); //相同的map-key会被覆盖
map.put("c2", "扬州");
map.put("c3", "常州");
jedis.hmset("Mcity", map); //一次取多个map值
List<String> list = jedis.hmget("Mcity", "c1", "c2", "c3"); //一次获取多个map-value
for (String string : list) {
System.out.println(string);
}
System.out.println("list长度:"+jedis.hlen("Mcity"));
}
//操作Set
public void set() {
jedis.sadd("city", "扬州", "上海", "南京", "苏州", "徐州", "常州","北京");
System.out.println("取最上面的值:" + jedis.spop("city"));
System.out.println("随机取值:" + jedis.srandmember("city"));
jedis.sadd("city1", "北京", "上海", "河北", "辽林", "云南", "黑龙江");
System.out.println("交集:" + jedis.sinter("city", "city1"));
System.out.println("并集:" + jedis.sunion("city", "city1"));
System.out.println("差集:" + jedis.sdiff("city", "city1"));
}
}
非关系型数据库redis-java基本操作的更多相关文章
- 非关系型数据库--redis
0.1 新单词 expire 美 /ɪk'spaɪɚ/ 到期 range 美 /rendʒ/ 范围 idle美 /'aɪdl/ 闲置的 0.2 面试题:mysql和redis和memcached区别? ...
- JavaWeb笔记(十)非关系型数据库Redis
Redis Redis是一款高性能的NOSQL系列的非关系型数据库 主流的NOSQL产品 键值(Key-Value)存储数据库 相关产品: Tokyo Cabinet/Tyrant.Redis.Vol ...
- 非关系型数据库redis
Redis初始 redis中不区分字母的大小写 查看端口 ss tnlp 安装 编译安装(需要先配置epel源) yum install -y redis 编译安装 wget https://down ...
- Python进阶----数据库的基础,关系型数据库与非关系型数据库(No SQL:not only sql),mysql数据库语言基础(增删改查,权限设定)
day37 一丶Python进阶----数据库的基础,mysql数据库语言基础(增删改查,权限设定) 什么是数据库: 简称:DataBase ---->DB 数据库即存放数据的仓库, ...
- Java Redis系列1 关系型数据库与非关系型数据库的优缺点及概念
Java Redis系列1 关系型数据库与非关系型数据库的优缺点及概念 在学习redis之前我们先来学习两个概念,即什么是关系型数据库什么是非关系型数据库,二者的区别是什么,二者的关系又是什么? ** ...
- Redis非关系型数据库
1.简介 Redis是一个基于内存的Key-Value非关系型数据库,由C语言进行编写. Redis一般作为分布式缓存框架.分布式下的SESSION分离.分布式锁的实现等等. Redis速度快的原因: ...
- 【Redis】(1)-- 关系型数据库与非关系型数据库
关系型数据库与非关系型数据库 2019-07-02 16:34:48 by冲冲 1. 关系型数据库 1.1 概念 关系型数据库,是指采用了关系模型来组织数据的数据库.关系模型指的就是二维表格模型, ...
- python 之操作redis数据库(非关系型数据库,k-v)
数据库: 1. 关系型数据库 表结构 2. 非关系型数据库 nosql (k - v 速度快),常用的时以下三种: memcache 存在内存里 redis 存在内存里 mangodb 数据还是存在磁 ...
- 数据库基础 非关系型数据库 MongoDB 和 redis
数据库基础 非关系型数据库 MongoDB 和 redis 1 NoSQL简介 访问量增加,频繁的读写 直接访问(硬盘)物理级别的数据,会很慢 ,关系型数据库的压力会很大 所以,需要内存级的读写操作, ...
随机推荐
- OpenCV中的绘图函数-OpenCV步步精深
OpenCV 中的绘图函数 画线 首先要为画的线创造出环境,就要生成一个空的黑底图像 img=np.zeros((512,512,3), np.uint8) 这是黑色的底,我们的画布,我把窗口名叫做i ...
- 搭建Hadoop平台(新手入门)
刚刚大学毕业,接触大数据有一年的时间了,把自己的一些学习笔记分享给大家,希望同热爱大数据的伙伴们一起学习,成长! 资料准备: Hadoop-2.7.1下载:http://pan.baidu.com/s ...
- Pyhton编程(三)之Pycharm安装及运算符
一:上节题目解答 1)使用while循环输出 1 2 3 4 5 6 8 9 10(注意:没有7) n=1while n<11: if n==7: pass //pass代码段指代空代码.. e ...
- win10 UWP 标签
本文主要翻译:http://visuallylocated.com/post/2015/02/20/Creating-a-WrapPanel-for-your-Windows-Runtime-apps ...
- SQL数据库的基础操作
一,认识SQL数据库 美国Microsoft公司推出的一种关系型数据库系统.SQLServer是一个可扩展的.高性能的.为分布式客户机/服务器计算所设计的数据库管理系统,实现了与WindowsNT的有 ...
- Hadoop(十四)MapReduce原理分析
前言 上一篇我们分析了一个MapReduce在执行中的一些细节问题,这一篇分享的是MapReduce并行处理的基本过程和原理. Mapreduce是一个分布式运算程序的编程框架,是用户开发“基于had ...
- 【20171027早】alert(1) to win 第9,10,11,12题
人在江湖,不服就干! 第9题: function escape(s) { function htmlEscape(s) { return s.replace(/./g, function(x) { r ...
- [LeetCode] Reverse Pairs 翻转对
Reverse Pairs 翻转对 题意 计算数组里面下标i小于j,但是i的值要大于j的值的两倍的搭配的个数(也就是可能会有多种搭配):网址 做法 这道题显然是不允许使用最简单的方法:两次循环,逐次进 ...
- 解决IDEA Struts2 web.xml问题
用IDEA整合SSH时,在web.xml中配置Struts2核心过滤器--"<filter-class>org.apache.struts2.dispatcher.ng.filt ...
- swift之函数式编程(五)
文章内容来源于<Functional Programing in Swift>,详情请看原著 The Value of Immutability swift 对于控制值改变有一些机制.在这 ...