4.1 Redis(Remote Dictionary Service)

4.1.1 Redis相关命令详解及其原理

Redis

Redis Remote Dictionary Service 的简称;也是远程字典服务;

Redis 是内存数据库, KV 数据库,数据结构数据库;

Redis 应用非常广泛,如 Twitter、暴雪娱乐、 GithubStack  Overflow、腾讯、阿里巴巴、京东、华为、新浪微博等,很多 中小型公司也在使用;

Redis 命令查看:http://redis.cn/commands.html

应用

.   记录朋友圈点赞数、评论数和点击数(hash)

.   记录朋友圈说说列表(排序),便于快速显示朋友圈(list)

.   记录文章的标题、摘要、作者和封面,用于列表页展示(hash)

.  记录朋友圈的点赞用户ID列表(list),评论ID列表(list), 于显示和去重计数(zset

.  缓存热点数据,减少数据库压力(hash

.  如果朋友圈说说 ID 是整数 id,可使用 redis 来分配朋友圈说说 id(计数器)(string

.  通过集合(set)的交并差集运算来实现记录好友关系(set .   游戏业务中,每局战绩存储(list)

安装编译

1

2

3

4

5

6

7

8

git clone https://gitee.com/mirrors/redis.git -b 6.2

cd redis make

make test

make install

# 默认安装在 /usr/local/bin

# redis-server 是服务端程序

# redis-cli 是客户端程序

启动

1

2

3

4

5

6

7

8

9

mkdir redis-data

# redis文件夹下 redis.conf 拷贝到 redis-data

# 修改 redis.conf

# requirepass 修改密码 123456

# daemonize yes

cd redis-data

redis-server redis.conf

# 通过 redis-cli 访问 redis-server

redis-cli -h 127.0.0.1 -a 123456

认识 Redis

string 是一个安全的二进制字符串;

双端队列 (链表) list:有序(插入有序);

散列表 hash:对顺序不关注,field 是唯一的;

无序集合 set:对顺序不关注,里面的值都是唯一的;

有序集合 zset:对顺序是关注的,里面的值是唯一的;根据member 来确定唯一;根据 score 来确定有序;如果score相同会根据memeber来确定唯一

redis 存储结构(KV

redis value 编码

redis 内存数据库;

1. 到底是要运行速度快,还是要存储效率高;

2. 数据量少的时候,存储效率高为主;

3. 数据量多的时候,运行速度快;

string

字符数组,该字符串是动态字符串 raw,字符串长度小于1M 时,加倍扩容;超过 1M 每次只多扩 1M;字符串最大长度为 512M

注意:redis 字符串是二进制安全字符串;可以存储图片,二进制协议等二进制数据;

基础命令

# 设置 key 的 value 值
SET key val
# 获取 key 的 value
GET key
# 执行原子加一的操作
INCR key
# 执行原子加一个整数的操作
INCRBY key increment
# 执行原子减一的操作
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值