1. 安装

1.1 安装包

从官网下载安装包本文下载的是最新的7.0.4版本,linux为centos7
地址:https://github.com/redis/redis/archive/7.0.4.tar.gz

1.2 上传到/usr/local并 解压安装包

cd /usr/local
tar -zxvf  redis7.0.4.tar.gz
cd redis.7.0.4

1.3 查看README.md

从中可以得到redis编译安装的步骤

1.4 编译

make
cd src                        ..生成了可执行程序
make install PREFIX=/usr/local/redis7      指定redis执行文件的位置
vi /etc/profile           配置redis环境变量,让执行命令可以在任意位置执行
...   export  REDIS_HOME=/usr/local/redis7
... export PATH=$PATH:$REDIS_HOME/bin
source /etc/profile    让环境变量生效

1.4.1 make会报错,没有安装gcc环境

 ....yum install  gcc  ....  make distclean   重编以前需要clean make

1.5 将redis配置到服务中去

cd  utils
./install_server.sh      (可以执行一次或多次)
  1. 一个物理机中可以有多个redis实例(进程),通过port区分
  2. 可执行程序就一份在目录,但是内存中未来的多个实例需要各自的配置文件,持久化目录等资源
  3. service redis_6379 start/stop/stauts > linux /etc/init.d/****
  4. 脚本还会帮你启动!
    5. ,ps -fe | grep redis 查看 redis 的进程

不需要更改路径的话,选择默认的安装

1.5.1 执行 install_server.sh遇到的问题

1.5.2解决

注释调下图位置的代码

2 数据类型

2.1 string

在Redis命令行中执行help @string 查看string相关命令



2.1.1 incr实际应用

显示数据value类型

type key

redis 编码 string 为例,其底层实现就可以分为 3 种: int , embstr , raw

OBJECT ENCODING k1

2.1.2 bitmap

2.1.2.1 setbit

表示设置一个key 值是一个二进制位就是0或者1 ,offset表示的是这个二进制位的偏移量是多少,显示的值是ascii码

图解:


2.12.2 bitpos

找到在给定范围内的第一个 二进制位出现的位置
下图中第一个1表示的是查找的二进制位,第二个1表示的是第几个字节

2.12.3 bitcount

表示的是给定字节范围内,二进制位1出现的次数

2.12.4 bitop

bitop 第一个参数 operation 值为 and 或者or and表示按位与操作,or表示的是按位或操作 第二个参数目标key表示接收的key 后面的是指定操作的两个key

下图 表示将两个key进行按位与操作
按位与操作的意思就是有0则0 双1得1

2.13 bitmap实际应用

需求:有用户系统,统计用户登录天数,且窗口随机

setbit sean 1 1   //表示一年中第一天登录
setbit sean 7 1     //表示一年中第7天登录
setbit sean 364 1
STRLEN sean
BITCOUNT sean -2 -1

需求:
京东就是你们的,618做活动:送礼物大库备货多少礼物
假设京东有2E用户
僵尸用户冷热用户/忠诚
用户活跃用户统计!随即窗口比如说 1号~3号 连续登录要去重

setbit 20220101   1  1    //表示1号用户在20220101登录
setbit 20220102   1  1   //表示1号用户在20220102登录
setbit 20220102   7  1   // 表示7号用户在20220102登录
bitop  or   destkey 20220101  20220102   // 对两个key进行按位或运算
BITCOUNT  destkey  0 -1    // 计算用户数

2.2 List 类型

2.2.1 图解

2.2.1.1 list中栈的实现

同向命令 先进后出

lpush k1 a b c d e f g
lpop k1 1


2.2.2.2 list实现队列

反向命令,先进先出

lpush k1 a b c d e f g
rpop k1 1

2.2.2.3 list 数组

lindex key 索引位置

取出对应位置的值

lset key 索引位置 替换值

修改对应位置索引的值

ltrim 去掉list 两边的值

2.2.2.4 阻塞,单播队列 FIFO

blpop ooxx o
rpush ooxx hello

2.3 hash 类型

就是键值对的数据结构

2

2.4 set 集合

无序和随机性的,会去重

增加元素

删除元素

两个元素的交集 SINTER

将两个元素交集存在一个key上面 SINTERSTORE

两个元素并集 sunion

两个元素差集

2.4.1 实际应用场景

  1. 抽奖

需求:奖品3个,抽奖人数10人

用srandmember 实现,当srandmember key 负数 这个情况下,数据会有重复的出现,并且如果人数大于key里面的数量,那么会补全人数,如第二张图片


  1. 年会抽奖奖品,一个个礼物抽,比方也是10个人

用spop每次弹出一个随机人

2.5 sorted set 有序集合


相关操作

sorted_set的排序是通过跳跃表实现的,什么是跳跃表,参考下面的博客

地址:跳跃表

redis安装和基本数据类型相关推荐

  1. NoSQL概述-Redis安装-常用五大数据类型-概述Bitmaps,HyperLogLog,Geospatial和redis.conf 基本解析

    NoSQL 概述 NoSQL(NoSQL=Not Only SQL),意即"不仅仅是SQL",泛指 非关系型的数据库. NoSQL不依赖业务逻辑方式存储,而以简单的key-valu ...

  2. redis(一) 安装以及基本数据类型操作

    redis(一) 安装以及基本数据类型操作 redis安装和使用 redis安装 wget http://download.redis.io/redis-stable.tar.gz tar zxvf ...

  3. Redis简介、与memcached比较、存储方式、应用场景、生产经验教训、安全设置、key的建议、安装和常用数据类型介绍、ServiceStack.Redis使用(1)...

    1.NOSQL简介 nosql的产生并不是要彻底的代替关系型数据库,而是作为传统关系型数据库的一个补充. Facebook和360使用Cassandra来存储海量社交数据 Twitter在其url抓取 ...

  4. Redis-cluster集群【第一篇】:redis安装及redis数据类型

    Redis介绍: 一.介绍 redis 是一个开源的.使用C语言编写的.支持网络交互的.可以基于内存也可以持久化的Key-Value数据库. redis的源码非常简单,只要有时间看看谭浩强的C语言,在 ...

  5. 项目1在线交流平台-4. 使用radis高性能储存方案-1.redis入门-特点、安装与支持数据类型

    文章目录 1.为何使用redis 1.1 NoSQL NoSQL数据库特点 常见NoSQL数据库 1.2 什么是redis,有何特点 1.3 为何选用redis 2. redis的安装与使用 2.1 ...

  6. redis安装、持久化、数据类型、常用操作、操作键值、安全设置、慢查询日志、存储session、主从配置、集群介绍、集群搭建配置、集群操作,php安装redis扩展...

    21.9 redis介绍 21.10 redis安装 21.11 redis持久化 21.12 redis数据类型 21.13/21.14/21.15 redis常用操作 21.16 redis操作键 ...

  7. Redis缓存的安装及基本数据类型命令的使用

    Redis基础   Redis 是一个开源的.遵循 BSD 协议的.基于内存的而且目前比较流行的键值数据库(key-value database),是一个非关系型数据库, redis 提供将内存通过网 ...

  8. redis介绍, redis安装, redis持久化, redis数据类型

    redis介绍 Redis和Memcached类似,也属于k-v数据存储 Redis官网redis.io, 当前最新稳定版4.0.1 支持更多value类型,除了和string外,还支持hash.li ...

  9. 【Redis】Redis安装、应用场景、数据类型、配置文件(很全)、发布订阅、事务、分布式锁、持久化、主从复制、集群等

    文章目录 Redis笔记 Redis 介绍 应用场景 相关技术 安装 Redis 操作及数据类型 Redis 键操作(Key) Redis 字符串(String) Redis 列表(List) Red ...

最新文章

  1. 自己写的一个测试函数执行效率的单元(test on Delphi 7)
  2. Linux下对MySQL数据库的常见操作【创建】【删除】【导入数据库】
  3. tomcat使用redis存储共享session
  4. python中的json注意事项
  5. 搞懂 SQL 查询优化原理分析,秒速处理大数据量查询
  6. js分页--存储数据并进行分页
  7. 十年沉淀,阿里云发布全球领先的对象存储OSS可用性SLA
  8. CCNA Cisco 安全配置
  9. python 异常学习2
  10. python用matplotlib画雷达图_Matplotlib绘制雷达图和三维图的示例代码
  11. Onvif协议学习:12、修改分辨率
  12. 华为网络技术大赛模拟题目
  13. gentoo适合做服务器系统吗,Mandriva、Gentoo发行版
  14. 《天龙八部》通关攻略 一
  15. ffmpeg -比特率,帧率和文件大小
  16. 小学计算机上机评分表,海安市实验小学信息技术学科素养考核方案
  17. 华东交通大学计算机考研资料汇总
  18. 做工作必须将心比心——感谢译者陈浩对我们的批评
  19. 计算机如何调成音乐,如何调出适用于我的均衡器设置?
  20. Aria2远程下载方案部署(CentOS7+Aria+AriaNG+Nginx)

热门文章

  1. 肾炎患者识别matlab,肾炎诊断 模型.doc
  2. TPC817隔离光耦使用小结
  3. Google大佬自述:天才程序员竟也有不为人知的秘密,看完真的学到了!
  4. Windows 平台下局域网劫持
  5. KDD 2011 最佳工业论文中机器学习的实践方法-翻译
  6. ImageWarping--反距离加权插值(IDW)方法实现及报告
  7. 吐血整理50个吊炸天的超实用网站
  8. 看似美好,实则无奈,水果业上限如此?
  9. 织梦网站转移主机服务器教程
  10. Android反编译、签名、重打包、zipalign一条龙