Redis介绍和使用

redis工作所处位置图示

Redis是Remote Dictionary Server(远程数据服务)的缩写

由意大利人 antirez(Salvatore Sanfilippo)  开发的一款 内存高速缓存数据库

该软件使用C语言编写,它的数据模型为 key-value

它支持丰富的数据结构,比如 String  list  hash   set  sorted set

可持久化,保证了数据安全。

为什么使用

1)是一款数据库产品,有数据存储功能

2)高速读取数据(in-memory)

3)减轻数据库负担

4)有集合计算功能(优于普通数据库和同类别产品)

5)多种数据结构支持

 

什么场合使用

1)[Sort Set]排行榜应用,取top n操作,例如sina微博热门话题

2)[List]获得最新N个数据 或 某个分类的最新数据

3)计数器应用

4)[Set]sns(social network site)获得共同好友

5)[Set]防攻击系统(ip判断)等等

 

对比memecache

memcache   key 的value值 存储1M   不支持数据持久化(重启数据丢失)  存储数据比较单一   多核多线程

redis  key 的value值存储512M    支持数据持久化(重启之后数据会自动加载)  有多种数据格式,可以满足更多的使用需要   单核单线程

nosql   not only sql  不仅仅是sql   翻译  非关系性数据库    没有连表概念,不能够进行连表查询。  memcache和redis同属nosql 数据库。

 

redis安装

redis是一款开源产品,linux也是开源产品,redis默认支持开发平台是linux、unix等。

window下的redis,是由微软技术小组定制开发维护。

redis官方网站:https://redis.io/

windows安装

windows版本一般都滞后于redis源码版本 https://github.com/MicrosoftArchive/redis/releases

第一步:把redis文件部署到运行目录,路径不能够有中文

第二步:redis的windows启动服务安装   使用管理员cmd执行

windows下的redis服务安装

redis-server --service-install redis.windows-service.conf

redis-server --service-uninstall

注意windows的redis,在使用存在一些不稳定下,只作为测试开发。尤其是在一些新版本中。如果出现问题,就重启redis服务,再重新连接使用即可。

 简单使用

 windows下连接redis

 redis-cli.exe

操作使用 

key

key的命名规则不同于一般语言,键盘上除了空格、\n换行外其他的大部分字符都可以使用。

像“my key”和“mykey\n”这样包含空格和换行的key是不允许的。

我们在使用的时候可以自己定义一个Key的格式。

例如 object-type:id:field

Key不要太长。占内存,查询慢。

Key不要太短。像u:1000:pwd   就不如   user:1000:password  可读性好

 

 set 设置key  get  获取key的value

 

注意:默认redis提供了16个库,一个业务使用一个库或者不同的value数据类型,存放到不同库里。 

select index 切换库 下表从0开始 

move name 1  移动name到库1 flushdb 删除当前库数据  flushall 删除所有库数据 

string

string是redis最基本的类型

redis的string可以包含任何数据。包括jpg图片或者序列化的对象。

单个value值最大上限是512M。

如果只用string类型,redis就可以被看作加上持久化特性的memcache

 

 

 

list

 

list类型其实就是一个双向链表。通过push,pop操作从链表的头部或者尾部添加删除元素。

这使得list既可以用作,也可以用作队列

队列  先进先出  一端进  一端出

栈    先进后出  同一端进出

 

 

set

redis的set是string类型的无序集合。

set元素最大可以包含(2的32次方-1)个元素。

关于set集合类型除了基本的添加删除操作,其他有用的操作还包含集合的取并集(union),交集(intersection),差集(difference)。通过这些操作可以很容易的实现sns中的好友推荐功能

 

 

两个人的朋友圈

xiaomingFR    xiaohua  xiaohong  xiaobenben  xiaoniuniu  cat  do

tomFR        jerry     jim    rose  marry    cat  dog

zset

和set一样sorted set也是string类型元素的集合,

不同的是每个元素都会关联一个权。

通过权值可以有序的获取集合中的元素

 

设计需求

Top

新闻资讯点击热榜

id   score  hit

11    5    10000

22    10   5000

44    55   100

33    3    50000

hash

hash数据类型存储的数据与mysql数据库中存储的一条记录极为相似。

key=》value

field(域) 对应value

 设计需求:

存储两条数据

Person1 name tom age 18  job php

Person2 name jim age 19  job java

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值