非关系型数据库redis-java基本操作

概述

redis是一个key-value的nosql数据库(非关系型数据库)。支持存储的value类型包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。为了保证效率,数据都是缓存在内存中。

redis执行语句

redis的命令:各种命令在这里

包下载

关于java操作redis的jar包可以使用Jedis,当然下载这个是要FQ的啦,FQ的话同志们可以去买各种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"));
    }

}

源码(其实jar包这里也有啦)

时间: 2024-08-29 13:53:25

非关系型数据库redis-java基本操作的相关文章

非关系型数据库Redis学习(1)

NoSQL 泛指非关系型数据库 特点:1.处理超大量的数据 2.运行在便宜的pc服务器集群上  3.击碎了性能的瓶颈 Redis是一个高性能的key-value数据库,存储的value类型包括string字符串.list链表.set(集合).zset(有序集合).数据缓存在内存中,也可以周期性的把更新的数据写入磁盘,或把修改的操作写入追加的记录文件中 Redis使用场合 1. application -> Redis 2. 应用程序直接访问Redis,只有当Redis访问失败时,才访问mysql

非关系型数据库--Redis基础

redis是一个开源的key-value数据库,其特点就是基于键值存储数据: 它又经常被认为是一个数据结构服务器.因为它的value不仅包括基本的string类型还有list,set ,sorted set和hash类型. redis官网地址:https://redis.io/ redis服务文件: rpm -ql redis #查看redis安装后生成的文件信息,如配置文件.日志文件和服务文件 /etc/redis.conf #主配置文件 /usr/bin/redis-server #redi

分析Jedis源码实现操作非关系型数据库Redis

如果测试项目用的maven依赖,先把maven坐标准备好 <!-- https://mvnrepository.com/artifact/redis.clients/jedis --><dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>2.9.0</version></dependenc

Python3网络爬虫实战-34、数据存储:非关系型数据库存储:Redis

Redis 是一个基于内存的高效的键值型非关系型数据库,存取效率极高,而且支持多种存储数据结构,使用也非常简单,在本节我们介绍一下 Python 的 Redis 操作,主要介绍 RedisPy 这个库的用法. 1. 准备工作 在本节开始之前请确保已经安装好了 Redis 及 RedisPy库,如果要做数据导入导出操作的话还需要安装 RedisDump,如没有安装可以参考第一章的安装说明. 2. Redis.StrictRedis RedisPy 库提供两个类 Redis 和 StrictRedi

python 之操作redis数据库(非关系型数据库,k-v)

数据库: 1. 关系型数据库 表结构 2. 非关系型数据库 nosql (k - v 速度快),常用的时以下三种: memcache 存在内存里 redis 存在内存里 mangodb 数据还是存在磁盘上 Redis里的数据类型有String 和hash类型,下面主要是对Redis 的一些操作. 一.String类型 r = redis.Redis(host='localhost',port=6379,db=3) r.set('nancy2','201801211505') #set数据 pri

非关系型数据库(NoSQL)——Redis安装及部署详解

在现在的互联网大潮中,NoSQL可谓是家喻户晓,Redis作为NoSQL中及其重要的一员,使我们走向架构道路的一条必经之路.作为运维工程师来说,是必须要掌握的! 既然提到了Redis数据库是非关系型数据,并且需要掌握Redis数据库.那么关于关系型数据库与非关系型数据库的基本概念是必须要了解的. 一.关系型数据库与非关系型数据库的基本概念: 数据库按照其结构可以分为关系型数据库与其他数据库,而这些其他数据库,我们统称为非关系型数据库. 1.关系型数据库 关系型数据库是一个结构化的数据库,创建在关

非关系型数据库之redis

redis是什么? redis是基于内存的非关系型数据库,数据是以key-value的形式来存储的.redis的读写效率非常高,处理并发访问能力很强.主要应用场景是分布式缓存 redis中的key只有string类型.但是value有五种数据类型:字符串string,散列hash,列表list,集合set,有序集合sorted set. redis操作都是原子性的,线程安全,保证数据完整性. 为什么使用redis? 一个Tomcat同一时刻能够处理的请求大约200-300,当同一时刻有多个请求访

Cassandra非关系型数据库

由于在工作中用到了Cassandra非关系型数据库,因此总结一下常用操作.Cassandra使用Java语言编写的,因此在安装之前,首先需要安装JDK.自己使用的版本为apache-cassandra-2.1.11-bin.tar.gz,在Ubuntu 12.04上进行安装.由于目前仅仅在单机上面实验,因此集群部分以后整理. 1. Cassandra安装和配置 (1)~/.bashrc环境变量配置 export CASSANDRA_HOME=/usr/local/cassandra/apache

关系型数据库和非关系型数据库的区别

关系型数据库和非关系型数据库的区别 1.关系型数据库通过外键关联来建立表与表之间的关系,2.非关系型数据库通常指数据以对象的形式存储在数据库中,而对象之间的关系通过每个对象自身的属性来决定        比如 有一个学生的数据:              姓名:张三,性别:男,学号:12345,班级:二年级一班       还有一个班级的数据:             班级:二年级一班,班主任:李四 关系型数据库中,我们创建学生表和班级表来存这两条数据,并且学生表中的班级存储的是班级表中的主键.