Chinaunix首页 | 论坛 | 博客
  • 博客访问: 21505
  • 博文数量: 1
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 32
  • 用 户 组: 普通用户
  • 注册时间: 2019-01-05 09:06
文章分类

全部博文(1)

文章存档

2019年(1)

我的朋友

分类: NOSQL

2019-01-05 09:55:08

首先不罗嗦先看看Redis是什么?
Redis是一款优秀的nosql(非关系型),key-vlaue,内存级别的数据库!redis是单线程,操作是安全的! 
关系型:用一张二维表格来表示和存储现实生活中对象的这一类数据库。 oracle ,mysql 
非关系型(nosql):不用二维表格,比如key-value ,文档等数据

那么Redis有什么特点呢?
1.Redis支持数据的持久化,会根据一定的策略持久化到磁盘,即使断电也不会丢失数据. 
2.Redis不仅仅支持简单的key-value类型的数据,同时还提供list,set,等数据结构的存储。 
3.Redis支持数据的备份。

Redis的应用场景
1.String : string是redis最基本的类型,一个key对应一个value。string类型是二进制安全的。意思是redis的string可以包含任何数据。比如图片或者序列化的对象。String类型是Redis最基本的数据类型,一个键最大能存储512MB。 
常用命令: 
① get、获取存储在指定键中的值 
② set、设置存储在指定键中的值 
③ del、删除存储在指定键中的值(这个命令可以用于所有的类型) 
使用场景:利用incr生成id,decr减库存, 缓存–过期时间设置,模拟session

2.list: Redis 列表是简单的字符串列表,按照插入顺序排序。你可以添加一个元素到列表的头部(左边)或者尾部(右边)。 
常用命令: 
① rpush、将给定值推入列表的右端 
② lrange、获取列表在指定范围上的所有值 
③ lindex、获取列表在指定范围上的单个元素 
使用场景: 多任务调度队列

3.set: Redis的Set是string类型的无序集合。集合是通过哈希表实现的,所以添加,删除,查找的复杂度都是O(1)。 
常用命令: 
①sadd、将给定元素添加到集合 
②smembers、返回集合包含的所有元素 
③sismember、检查指定元素是否存在于集合中 
使用场景: 微博关注数

4.hash : Redis hash 是一个键值(key=>value)对集合。Redis hash是一个string类型的field和value的映射表,hash特别适合用于存储对象。 
常用命令: 
①hset、在散列里面关联起指定的键值对 
②hget、获取指定散列键的值 
③hgetall、获取散列包含的所有键值对 
④hdel、如果给定键存在于散列里面,那么移除这个键 
使用场景:购物车

5.zset: Redis zset 和 set 一样也是string类型元素的集合,且不允许重复的成员。不同的是每个元素都会关联一个double类型的分数。redis正是通过分数来为集合中的成员进行从小到大的排序。zset的成员是唯一的,但分数(score)却可以重复。 
常用命令: 
①zadd、将一个带有给定分值的成员添加到有序集合里面 
②zrange、根据元素在有序排列中所处的位置,从有序集合里面获取多个元素 
③zrangebyscore、获取有序集合在给定分值范围内的所有元素
④zrem、如果指定成员存在于有序集合中,那么移除这个成员 
使用场景:排行榜(咱们的富豪排行榜是否也是用的Redis zset呢)

接下来讲讲Redis一个重要的功能持久化
rdb 快照:默认redis是会以快照的形式将数据持久化到磁盘的(一个二进制文件,dump.rdb,这个文件名字可以指定),在配置文件(redis.conf)中的格式是:save 
N M表示在N秒之内,redis至少发生M次修改则redis抓快照到磁盘。当然我们也可以手动执行save或者bgsave(异步)做快照。(功能和VMware虚拟机的快照差不多)


点击(此处)折叠或打开

  1. # # # # # # # # # # # # # # #快照# # # # # # # # # # # # # 
  2. 将数据库保存在磁盘上:
  3. 保存<> <修改>
  4. 如果给定的秒数和给定的秒数
  5. 对数据库进行写操作的次数。
  6. 在下面的例子中,行为将是保存:
  7. 在900秒(15分钟)后,如果至少有一个键改变
  8. 在300秒(5分钟)后,如果至少10个键改变
  9. 60秒后如果至少10000个键改变
  10. 注意:你可以在注释所有“保存”行时禁用保存。

  11. save 900 1
  12. save 300 10
  13. save 60 10000

Redis的优点
1.性能极高 – Redis能读的速度是110000次/s,写的速度是81000次/s 。 
2.丰富的数据类型 – Redis支持二进制案例的 Strings, Lists, Hashes, Sets 及 Ordered Sets 数据类型操作。 
3.原子 – Redis的所有操作都是原子性的,意思就是要么成功执行要么失败完全不执行。单个操作是原子性的。多个操作也支持事务,即原子性,通过MULTI和EXEC指令包起来。 
4.丰富的特性 – Redis还支持 publish/subscribe, 通知, key 过期等等特性。

JAVA访问Redis

  1. 使用jedisjava客户端来访问redis服务器,优点类似jdbc访问db一样
  2. 如果是spring进行集成时,可以使用springDataRedis来访问redis , springDataRedis 只是对jedis的二次封装







阅读(12097) | 评论(3) | 转发(0) |
1

上一篇:没有了

下一篇:没有了

给主人留下些什么吧!~~

liudao2019-01-05 09:56:37

写的太好了,楼主为你打Call

liudao2019-01-05 09:56:19

666

liudao2019-01-05 09:56:10

写的太好的

评论热议
请登录后评论。

登录 注册