Redis初步认识

   Redis是把整个数据库全加载到内存当中进行操作,通过异步操作定期把数据库中数据flush到硬盘中保存,因为是纯内存操作,所以Redis的性能非常出色,每秒处理10万次以上的读写操作,是目前性能最快的key->value数据库



   Redis支持的数据类型包括 String,Set,Sorted Set,List,Hash


   一.String

   String类型是二进制安全的,可以把图片和视频文件保存到String


  struct sdshdr{
      char buf[]; //字符串实体,保存字符串的内容
      long len;   //记录数组buf大小
      long free; //记录数据buf还有多少可用空间
  }

  为了提高网站的运行速度,可以使用String类型缓存一些静态文件,如图片文件,css文件

  二.List

  List数据类型指key对应的value是一个双向链表结构,所以List类型支持链表支持的所有操作,List类型在互联网上十分有用,例如存放微博中的“我关注的列表”,或者论坛中的回帖ID

  使用List还可以实现消息队列功能,减轻数据库的压力,消息队列类似现实生活中的队列,每次有消息就把消息放进队列尾部,然后使用lpop命令把消息从队列头部取出

  三.Set

  Set类型通常用于记录做过的事情,例如在某些投票系统中,每个用户一天中能投票一次,那么可以使用Set来记录某个用户的投票情况,只需要以日期作为Set的key,则将用户的ID作为member即可。要查看用户今天是否投过票,只需要以今天的日期为key去查询用户ID是否存在

  四.Sorted set 
  Sorted set类型和set类型相似,都是String类型元素的集合,不同的是Sorted set属于有序集合,通过一个double类型的整数score进行排序。Sorted set通过skipList(跳跃表)和Hash组合完成。skipList负责排序,Hash负责保存数据。

  因为Sorted set是排序的set,所以Set能做的是事情Sorted set也能做,也可以做其他的事情,例如使用Sorted set构建一个具有优先级的队列。

  Sorted set类型在web中非常有用,如果排行榜中按照顶贴次数排序,方式是排序的数值设置成Sorted set中的score

  五.Hash

  Hash类型是每个key对应一个哈希表,添加,删除和修改操作的时间复杂度都是O(1),Hash类型适合存储对象,例如用户信息对象,把用户ID设置为key,把数据信息保存到Hash类型中




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值