SQLServer数据库之NoSQL数据库之-------Redis(二)
小标 2019-05-24 来源 : 阅读 1454 评论 0

摘要:本文主要向大家介绍了SQLServer数据库之NoSQL数据库之-------Redis(二),通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助。

本文主要向大家介绍了SQLServer数据库之NoSQL数据库之-------Redis(二),通过具体的内容向大家展现,希望对大家学习SQLServer数据库有所帮助。

SQLServer数据库之NoSQL数据库之-------Redis(二)

Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。
下面将会给出实例:
1.Java操作Redis键(key)

package com.redis1;import java.util.List;import redis.clients.jedis.Jedis;/**
 * Redis keys实例
 * @author dell
 *
 */public class RedisKeys {    public static void main(String[] args) {        //连接redis本地服务        Jedis jedis = new Jedis(""127.0.0.1"");        System.out.println(""redis本地服务连接成功!"");        /*Redis Bgsave 命令用于在后台异步保存当前数据库的数据到磁盘。
          BGSAVE 命令执行之后立即返回 OK ,然后 Redis fork 出一个新子进程,
                       原来的 Redis 进程(父进程)继续处理客户端请求,而子进程则负责将数据保存到磁盘,然后退出。
        */        System.out.println(jedis.bgsave());        //Redis Echo 命令用于打印给定的字符串。        System.out.println(jedis.echo(""redis""));        //Redis Flushall 命令用于清空整个 Redis 服务器的数据(删除所有数据库的所有 key )。        System.out.println(jedis.flushAll());        //Redis Flushdb 命令用于清空当前数据库中的所有 key。        System.out.println(jedis.flushDB());        /*
         Redis Ping 命令使用客户端向 Redis 服务器发送一个 PING ,如果服务器运作正常的话,会返回一个 PONG 。
                     通常用于测试与服务器的连接是否仍然生效,或者用于测量延迟值。
         */        System.out.println(jedis.ping());        //Redis Info 命令以一种易于理解和阅读的格式,返回关于 Redis 服务器的各种信息和统计数值。        System.out.println(""\ninfo----->""+jedis.info());        //Redis RANDOMKEY 命令从当前数据库中随机返回一个 key 。        System.out.println(jedis.randomKey());        //Redis Save 命令执行一个同步保存操作,将当前 Redis 实例的所有数据快照(snapshot)以 RDB 文件的形式保存到硬盘。        System.out.println(jedis.save());        //Redis Unwatch 命令用于取消 WATCH 命令对所有 key 的监视。        System.out.println(jedis.unwatch());        /*
          Redis Multi 命令用于标记一个事务块的开始。
                      事务块内的多条命令会按照先后顺序被放进一个队列当中,最后由 EXEC 命令原子性(atomic)地执行。
         */        System.out.println(jedis.multi());        /*Redis Quit 命令用于关闭与当前客户端与redis服务的连接。
        一旦所有等待中的回复(如果有的话)顺利写入到客户端,连接就会被关闭。*/        System.out.println(jedis.quit());    }}

2.Java操作Redis列表(list)

package com.redis1;import java.util.List;import redis.clients.jedis.BinaryClient;import redis.clients.jedis.Jedis;/**
 * redis list数据类型
 * 
 * @author dell
 *
 */public class RedisList {    public static void main(String[] args) {        // 连接本地的 Redis 服务        Jedis jedis = new Jedis(""localhost"");        System.out.println(""redis本地服务连接成功!"");        /*
         * lpush 表示从list的头部插入元素 rpush 表示从list的尾部插入元素 linsert 在列表的某个元素前或者后插入元素
         * index 表示列表中index位置的元素 llen 返回列表的长度 lpop list 0 -1
         * 表示从mylist列表的头部开始删除所有元素 rpop list 0 -1 表示从mylist列表的尾部开始删除所有元素 lrange
         * list 0 -1 //使用lrange取出元素 0表示从头部第一个元素,-1表示从尾部第一个元素取出,lrange mylist 0
         * -1 表示取出mylist中的所有数据
         */        // 存储数据到列表中
        jedis.lpush(""SQL"", ""Redis"");
        jedis.lpush(""SQL"", ""Mongodb"");
        jedis.lpush(""SQL"", ""Mysql"");
        jedis.linsert(""SQL"", BinaryClient.LIST_POSITION.BEFORE, ""MySql"", ""java"");
        jedis.rpush(""SQL"", ""SqlServer"");
        jedis.rpush(""SQL"", ""Oracle"");

        jedis.linsert(""SQL"", BinaryClient.LIST_POSITION.BEFORE, ""MySql"", ""java"");        // Redis Lpushx 将一个或多个值插入到已存在的列表头部,列表不存在时操作无效。        System.out.println(jedis.lpushx(""SQL"", ""Redis1""));        // 获取存储的数据并输出        List<String> list = jedis.lrange(""SQL"", 0, -1);        for (int i = 0; i < list.size(); i++) {            System.out.println(""Stored string in redis:: "" + list.get(i));        }        // 获得列表的长度        System.out.println(""redis列表长度为:"" + jedis.llen(""SQL""));        // 删除列表中的元素
        jedis.del(""SQL"");        System.out.println(""删除了redis列表!"");        // 获得列表的长度        System.out.println(""redis列表长度为:"" + jedis.llen(""SQL""));        // 列表下标从0开始        System.out.println(""redis列表下标为5的元素是:"" + jedis.lindex(""SQL"", 5));        /*
         * Redis Ltrim 对一个列表进行修剪(trim),就是说,让列表只保留指定区间内的元素,不在指定区间之内的元素都将被删除。 下标 0
         * 表示列表的第一个元素,以 1 表示列表的第二个元素,以此类推。 你也可以使用负数下标,以 -1 表示列表的最后一个元素, -2
         * 表示列表的倒数第二个元素,以此类推。
         */        System.out.println(jedis.ltrim(""SQL"", 0, 4));    }}

3.Java操作Redis集合(set)

package com.redis1;import java.util.Set;import redis.clients.jedis.Jedis;/**
 * Redis set数据类型
 * @author dell
 *
 */public class RedisSet {    public static void main(String[] args) {        Jedis jedis = new Jedis(""127.0.0.1"",6379);        //set方法用于向redis数据库中添加设置数据
        jedis.set(""k1"", ""v1"");
        jedis.set(""k2"", ""v2"");
        jedis.set(""k3"", ""v3"");        //get方法用于获取某个键所对应的值        System.out.println(jedis.get(""k3""));        //del方法用于删除某个键所对应的值        System.out.println(jedis.del(""k1""));        //getSet方法用户获取某个键所对应的值,键不存在,返回null;键存在,返回对应的值        System.out.println(jedis.getSet(""k4"", ""v4""));        /*getrange(key, startOffset, endOffset)方法用于获取存在在key中字符串的子字符串
         字符串的截取范围由start和end两个偏移量决定
        */        System.out.println(jedis.getrange(""k2"", 1, -1));        //lpop方法用于移除并返回列表的第一个元素        System.out.println(jedis.lpop(""k1""));        //rpop方法用于移除并返回列表的最后一个元素        System.out.println(jedis.rpop(""k5""));        //返回集合的长度        Set<String> sets = jedis.keys(""*"");        System.out.println(sets.size());    }}

4.Java操作Redis字符串(String)

package com.redis1;import redis.clients.jedis.Jedis;/**
 * Redis String数据类型
 * @author dell
 *
 */public class RedisString {    public static void main(String[] args) {        //连接本地redis服务        Jedis jedis = new Jedis(""127.0.0.1"");        System.out.println(""redis服务连接成功!"");        //设置redis字符串数据
        jedis.set(""type"", ""string"");        //获取存储的数据并输出        System.out.println(""redis存储的值为:""+jedis.get(""type""));    }}

5.Java 操作Redis排序

package com.redis2;import org.junit.Before;import org.junit.Test;import redis.clients.jedis.Jedis;/**
 * Redis排序
 * @author dell
 *
 */public class Java_RedisTest {    private Jedis jedis;    @Before    public void setup(){        //连接redis服务器
        jedis = new Jedis(""127.0.0.1"",6379);        //权限认证        //jedis.auth(""admin"");    }    @Test    public void test() throws InterruptedException{        //jedis排序        //注意,此处的rpush和lpush是List的操作。是一个双向链表(但从表现来看的)  
        jedis.del(""a"");   //先清除数据,在加入数据进行测试
        jedis.rpush(""a"", ""1"");
        jedis.rpush(""a"", ""6"");
        jedis.rpush(""a"", ""4"");
        jedis.rpush(""a"", <span"

   本文由职坐标整理并发布,希望对同学们学习SQL Server有所帮助,更多内容请关注职坐标数据库SQL Server数据库频道!

本文由 @小标 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式IT培训就业服务领导者 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved

208小时内训课程