nosql之redis基础学习

导读:本篇文章讲解 nosql之redis基础学习,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

redis

学习官网redis中文网

一、概念 :

redis是nosql系列的一款高性能非关系型数据库

Redis支持的键值数据类型:字符串类型 String

                                             哈徐类型 hash

                                            列表类型 list

                                            集合类型 set

                                 有序集合类型 sortedset

经常查询一些一些不大经常发生变化的数据

缓存思想:1、从缓存中获取数据—-(1)有数据直接返回。(2)没有数据、从数据库中查询,将数据放入缓存中,返回数据

 

nosql之redis基础学习

主流nosql产品:

(1)键值对(key-Value)存储数据库

         产品:Tokyo、Cabinet/Tyrant、redis、、

         典型应用:内容缓存、主要用于处理大量数据的高访问负载

         数据模型:一系列键值对

         优势:快速查询

         劣势:存储的数据缺少结构化

(2)列存储数据库

         产品:Cassandea、Hbase、Riak

         典型应用:分布式的文件系统

         数据模型:以列簇式存储、将同一列数据存放在一起

         优势:查找速度快、可拓展性强、更容易进行分布式拓展

         劣势:功能相对局限

(3)文档型数据库

         产品:MongDB、CouchDB

         典型应用:web应用(与key-value类似,value是结构化的)

         数据模型:一系列键值对

         优势:数据结构要求不严格

         劣势:查询性能不高,而且缺乏统一的查询语法

(4)图形(graph)数据库

         产品:Noe4j、Infogrid、Infinite Graph

         典型应用:社交网络

         数据模型:图结构

         优势:利用图结构相关算法

         劣势:需要对整个图做计算才能得出结果,不容易做出分布式的集群方案

 

二、下载安装

redis.windows.conf :配置文件

redis-cli.exe :redis的客户端

Redis-server.exe :redis的服务器端

三、使用redis俩种方式(命令操作、java代码)

1、数redis的数据结构

  Redis存储的是:key,value格式的数据 其中key都是字符串,value有五种不同的数据结构:字符串类型 String

    哈希类型 hash:map格式

        列表类型 list : linkedlist格式

        集合类型 set  : hashSet格式

        有序集合类型 sortedset :

2、命令形式

1*哈希类型 hash

(1)存储: hset key field value

(2)获取指定的field: hget key field

(3)获取所有的 field:hgetAll key

(4)删除: hdel key field

2*字符串类型 String

(5)存储:set key value

(6)获取: get key

(7)删除: del key

3*列表类型 list:可以添加一个元素列表到头部(左边)或者尾部(右边)重复

(8)添加:lpush  key value :将元素加入列表的左边 rpush Key value:将元素加到右边

(9)获取: lrange key start  end:范围获取  

(10)删除: lpop key :删除列表最左边的元素,并将元素返回

              rpop key : 删除元素最右边的元素,并将元素返回

   4*集合类型 set :不允许重复元素

(11)存储:sadd key value

(12)获取:smembers key 获取set 集合中所有元素

(13)删除 :srem key value: 删除集合中某个元素

  5*有序集合类型 sortefset:不允许重复元素、且元素有序

(14)存储:zadd key score value

(15)获取:zrange key  start  end

(16)删除 :srem key value

  6*通用命令

1、keys  * 查询所有键

2、Type key:获取键对应value类型

3、del key:删除指定key value

四、持久化操作说

1、redis是一个内存数据库,当redis服务器重启,获取电脑重启,数据会丢失

2、持久化机制

  1*RDB:默认方式,不需要进行配置就可以使用这种机制。

 在一定的间隔时间内,检测key的变化情况,然后持久化数据(性能影响较低)

 nosql之redis基础学习

 

   (1)编辑redis.windows.conf文件

  2*ADF:日志记录的方式,可以记录灭一条命令的操作,可以每一次命令操作后,持久化数据。

 (1)编辑redis.windows.conf文件

 

五、Java操作redis

1、jedis:一款java操作redis数据库的工具

2、使用步骤:

(1)下载jedis的jar包

(2)使用:

    //1、打开连接
Jedis jedis=new Jedis(“localhost”,6379);
//字符串
jedis.set(“name”,“李青华”);
jedis.set(“pwd”,“123”);
jedis.set(“old”,“23”);
jedis.set(“sexs”,“男”);
jedis.set(“sexs”,“男”);
//哈希
jedis.hset(customer,“uasername”,“李青华”);
jedis.hset(customer,“age”,“23”);
jedis.hset(customer,“sex”,“男”);
jedis.hset(“custoemr”,“pwd”,“123”);
jedis.hset(customer,“pwd”,“123”);

//列表list
jedis.lpush(“student”,“李青华”);
jedis.lpush(“student”,“李青华”);
jedis.rpush(“student”,“123”);
jedis.rpush(“student”,“男”);
jedis.rpush(“student”,“23”);

//集合set
jedis.sadd(“scustomer,“李青华”);
jedis.sadd(“scustomer,“23”);
jedis.sadd(“scustomer,“123”);
jedis.sadd(“scustomer,“男”);
jedis.sadd(“scustoemr”,“男”);
//有序集合sortedSet
jedis.zadd(“zcustoemr”,1,“李青华”);
jedis.zadd(“zcustoemr”,2,“123”);
jedis.zadd(“zcustoemr”,3,“李青华”);
jedis.zadd(“zcustoemr”,4,“男”);
jedis.zadd(“zcustoemr”,1,“23”);

jedis.close();

 

六、 Jedis连接池

JedisPool

1、使用

  1*创建JedisPool连接池对象

  2*调用方法getResource()获取Jedis连接

 

注意:使用redis缓存一些不经常发生改变的数据。

 nosql之redis基础学习

 

          *数据库中的数据一旦发生改变,则需要更新缓存。数据库的表执行增删改相关操作,需要将redis缓存数据清空,再次存入。

          *在service对应的增删改方法中将redis数据删除。

 

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/13063.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!