您的位置:首页 > 数据库 > Redis

关于redis的一些问题,事物方面,线程,在项目中的应用等几个点

2017-09-28 19:55 495 查看
一、首先redis是什么? 

REmote DIctionary Server(远程字典服务器).
它是完全开源免费的,用C语言编写的,遵守BSD协议,是一个高性能的(key/value)分布式内存数据库,

基于内存运行并支持持久化的NoSQL数据库,是当前最热门的NoSql数据库之一,也被人们称为数据结构服务器。

Redis支持数据的持久化,可以将内存中的数据保持在磁盘中,重启的时候可以再次加载进行使用.

二、关于事物方面的话

它是支持事物的,像mysql差不多,它使用multi开启事务 ,多个命令操作。。。
使用exec提交事务(错误命令导致异常,使用discard回滚)

Multi                                 ---------开启事物

Set k1 1                            ---------- 传入数据

Set k2 2

。。。

Exec/discard                -------提交或者失败就回滚

这个简单图的话就可以解释
三、关于线程方面

redis是单线程,内部采用了队列技术实现串型访问

四、简述对redis的理解

Key-value的数据存储形式,纯内存数据库,非常快,当然redis也支持持久化(rdb和aof)redis.conf。有五种类型:string hash list set zset。

可以做分布式存储,主从复制,集群(集群采用了轮询、随机等算法)。

五、电商项目中redis的应用

主要是用来做缓存,如首页的商品分类,模块内容,还有一些业务查询数据(查单个商品)

也有其他的用途如:

1、 系统之间的单点登录 (
session共享)

2、计数器,如商品的
id自增 incr incrby

3 、排行榜,使用了zset(有一个分数的概念)

4 、秒杀抢购(redis的watch乐观锁)

-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

如有更好想法,请下方留言,谢谢观看!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: