Redis学习总结

知识要点:

1.键值存储数据库,主要应用于内容缓存,主要用于处理大量数据的高访问负载。

2.redis默认提供16个数据库,其中默认使用的是0,更改数据库使用select命令,可以配置文件来更改数据库的个数

3.nil是redis为空的类型

4.清空数据库是使用flushdb命令

5.java是使用jedis使用

6.需要用到空格的时候需要用到双引号

7.获取字符串的长度strlen

8.hash key flied value
  hash 适宜用于存储对象
  判断属性存在与否,Hexists

9.判断key存在与否,exists

10.List
  lrange查看元素 lrange key 0 -1 查看所有
  LPOP 左边的弹出
  RPOP 右边的弹出
  LREM 删除元素 LREM key count value
  lset 设置值 LSET key index value
  ltrim 截取数据
  linsert 插入元素 linsert key BEFORE/AFTER 值 插入值
  (考虑问题,如果list值有三个数相同,如果在中间的数据中插入值呢?)

11.Set(无序,不重复,去重作用)
  Smembers key 得到所有元素
  sdiff 计算集合间的差集
  sinter 计算交集
  sunion 计算并集
  scard 计算个数
  spop 弹出一个个数

12.sortedSet(有顺序的set)
  zrange 升序排序
  zrevrange 降序排序
  zrangebyscore 按照分数范围来取值
  zcard 获取所有元素个数
  zcount 获取指定分数之间的个数

13.type 返回key的类型

14.redis持久化
  RDB是Redis默认采用的持久化方案,存储的是数据,但是断电有可能会丢失数据
  AOF默认没有开启AOF方式的,储存的是命令

15.redis是有丢失数据的风险,如果突然是断电,那么就有这个可能,一般是配套使用redis数据库与其他数据库一起使用

16.如果设置了过期时间,如果String类型重新set进去,则expire过期时间重新计算。

17.redis集群----主要运用的是主从复制,使用投票容错率进行崩溃判断


18.redis集群中内置了16384个哈希,redis会根据节点数量大致均等的映射到不同的节点上面。
(考虑一种情况,如果两个对象在java上面来说是相等的,也是equals和Hashcode一样,但是有没可能在redis上面的集群上面根据一个对象找不到另外一个对象的可能性,这个问题如何解决?
可以将对象变成json格式进行存储,这样就解决平台容错性的问题。

19.Redis主要应用于缓存,还有在线好友列表等等。

知识点总结:

1.REDIS 储存的是KEY-VLAUE的非关系型数据库

它支持的类型有String hash list set sortedSet

2.String的自增是可以自增一个,也可以自增自定义个
hash的自增只能自增自定义个

3.hash值可以取出所有的val

4.list 可以从一个列表中复制到另外一个列表

5.list有剪枝的方法,hash没有剪枝的方法
list没有自动增加的方法,但是hash数据类型有自增自定义的方法。

6.set集合可以返回的是集合的差集,集合因为是无序的,所以返回的是随机的一个元素,提供的方法主要是返回随机元素或者所有元素,不能指定第几个元素返回,这是与list集合不同的地方

7.sorted set集合用分数来记录有序,所以花费内存相对来说代价比较高
sorted set集合可以自增,也有LIST集合返回指定范围的集合的特性,也有set不重复的特性

8.sorted set 主要是通过一个等级(score)进行排序,其中同一个等级可以有多个值,但是不允许一个值有多个等级

9.键都是可以设置过期时间的

10.能够实现递增的只有String 和 hash类型

11.sorted set 可以增加指定成员的分数

12.涉及到范围的数据大多数都是闭区间

 

posted @ 2018-08-01 20:50  cjf_lyt  阅读(112)  评论(0)    收藏  举报