Redis单节点安装与使用
1.配置阿里云yum源
下载配置文件
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
生成缓存
yum makecache
2.安装redis
2.1 安装依赖
yum install -y gcc-c++ gcc tcl
2.2 上传压缩包并解压
tar -xvf redis-3.0.0.tar.gz
2.3 编译
cd redis-3.0.0
make
# make test
创建安装目录
mkdir -p /usr/local/soft/redis
安装
make PREFIX=/usr/local/soft/redis install
2.4 复制配置文件
cp /usr/local/soft/redis-3.0.0/redis.conf /usr/local/soft/redis/bin/
配置环境变量
vim /etc/profile
增加
export REDIS_HOME=/usr/local/soft/redis/
在PATH后面增加 $REDIS_HOME/bin
使环境变量生效
source /etc/profile
5、启动redis
后台启动
cd /usr/local/soft/redis/bin
nohup redis-server redis.conf &
关闭redis
ps -aux | grep redis
kill -9
6、连接redis
redis-cli
插入一条数据
set key1 value1
查询数据
get key1
3.Redis的使用
设置字符串
SET key value [EX seconds] [PX milliseconds] [NX|XX]
EX 设置过期时间,秒,等同于SETEX key seconds value
PX 设置过期时间,毫秒,等同于PSETEX key milliseconds value
NX 键不存在,才能设置,等同于SETNX key value
XX 键存在时,才能设置


设置多个键的字符串值
MSET key value [key value ...]

键不存在时,设置字符串值
MSETNX key value [key value ...]

注意:这是原子操作 设置时有一个错误就全部错误
过期
Redis中可以给Key设置一个生存时间(秒或毫秒),当达到这个时长后,这些键值将会被自动删除
设置多少秒或者毫秒后过期
EXPIRE key seconds PEXPIRE key milliseconds
设置在指定Unix时间戳过期
EXPIREAT key timestamp PEXPIREAT key milliseconds-timestamp
删除过期
PERSIST key
查看剩余生存时间
TTL key(返回时秒数)
PTTL key(返回毫秒数)
key存在但没有设置TTL,返回-1 key存在,
但还在生存期内,返回剩余的秒或者毫秒 key曾经存在,
但已经消亡,返回-2(2.8版本之前返回-1)



查找键
KEYS pattern
pattern取值
*
任意长度字符 ?
任意一个字符 [] 字符集合,表示可以是集合中的任意一个


键类型
TYPE key
键是否存在
EXISTS key
键重命名
RENAME key newkey
RENAMENX key newkey
键删除
DEL key [key ...]
FLUSHALL(删除所有键值对)

获取值
GET key
获取多个给定的键的值
MGET key [key ...]
返回旧值并设置新值
GETSET key value 如果键不存在,就创建并赋值
字符串长度
STRLEN key

追加字符串
APPEND key value 如果键存在就追加;如果不存在就等同于SET key value

获取子字符串
GETRANGE key start end 索引值从0开始,负数表示从字符串右边向左数起,-1表示最有一个字符

覆盖字符串
SETRANGE key offset value

步长1的增减
INCR key
DECR key
字符串值会被解释成64位有符号的十进制整数来操作,结果依然转成字符串

步长增减
INCRBY key decrement
DECR key decrement
字符串值会被解释成64位有符号的十进制整数来操作,结果依然转成字符串

4.Redis位图的使用
位图不是真正的数据类型,它是定义在字符串类型中
一个字符串类型的值最多能存储512M字节的内容
位上限:2^(9+10+10+3)=2^32b
a --> 01100001
b --> 01100010
and
BITOP and dest1 a b
a and b ---> 0110 0000
or
BITOP or dest2 a b
a or b --> 01100011
xor
BITOP xor dest2 a b
a or b --> 00000011
not
BITOP not dest4 a
a ---> 10011110
redis的数据再内存中,位运算效率极高
可以通过getbit命令来获取dest*的每一个值

设置某一位上的值
SETBIT key offset value
offset偏移量,从0开始 value不写,默认是0
获取某一位上的值
GETBIT key offset
返回指定值0或者1在指定区间上第一次出现的位置
BITPOS key bit [start] [end]
注意:
除了 NOT 操作之外,其他操作都可以接受一个或多个 key 作为输入
当 BITOP 处理不同长度的字符串时,较短的那个字符串所缺少的部分会被看作 0
空的 key 也被看作是包含 0 的字符串序列
统计指定位区间上值为1的个数
BITCOUNT key [start] [end]
从左向右从0开始,从右向左从-1开始,注意官方start、end是位,测试后是字节
BITCOUNT testkey 0
0表示从索引为0个字节到索引为0个字节,就是第一个字节的统计
BITCOUNT testkey 0
-1等同于BITCOUNT testkey 最常用的就是 BITCOUNT testkey


Redis单节点安装与使用的更多相关文章
- Redis02——Redis单节点安装
Redis单节点安装 一.Redis的数据类型 string hash list set zset 二.安装 2.1.下载 wget http://download.redis.io/releases ...
- redis单节点安装及cluster的安装
单点安装 wget http://download.redis.io/releases/redis-4.0.2.tar.gz tar zxvf redis-4.0.1.tar.gz -C /usr/l ...
- redis 单节点安装
wget http://download.redis.io/releases/redis-5.0.3.tar.gz 1.下载解压 2.make编译 3.提示没有安装安装gcc,安装gcc yum in ...
- 【Redis学习之三】Redis单节点安装
本文介绍两个版本:redis-2.8.18.tar.gz 和 redis-3.0.0-rc2.tar.gz,均采用源码安装方式 一.redis3.0 部署环境 redis-3.0.0-rc2.tar. ...
- Redis单节点数据同步到Redis集群
一:Redis集群环境准备 1:需要先安装好Redis集群环境并配置好集群 192.168.0.113 7001-7003 192.168.0.162 7004-7006 2:检查redis集群 [r ...
- Hadoop介绍及最新稳定版Hadoop 2.4.1下载地址及单节点安装
Hadoop介绍 Hadoop是一个能对大量数据进行分布式处理的软件框架.其基本的组成包括hdfs分布式文件系统和可以运行在hdfs文件系统上的MapReduce编程模型,以及基于hdfs和MapR ...
- hbase伪分布式安装(单节点安装)
hbase伪分布式安装(单节点安装) http://hbase.apache.org/book.html#quickstart 1. 前提配置好java,环境java变量 上传jdk ...
- vertica单节点安装教程
[准备] 1.CentOS 7.6的镜像盘(下载地址:官网) 2.vertica-9.1.0-0.x86_64.RHEL6(下载地址:https://pan.baidu.com/s/1IjWBUTku ...
- 二、hdfs单节点安装
一.准备环境 在配置hdfs之前,我们需要先安装好hadoop的配置,本文主要讲述hdfs单节点的安装配置. hadoop的单节点安装配置请参考:https://www.cnblogs.com/lay ...
随机推荐
- 37岁Android程序员裸辞,四个月被497家公司拒绝,问猎头后懵了
一位网友在职场论坛上发了一个帖子,他说自己今年三十七岁了,是一名Android老兵,因为和上家公司的领导闹矛盾有了嫌隙,一气之下就裸辞了,如今已经辞职四个月了,也失业了四个月. 每天都在努力投简历,共 ...
- noip模拟35[第一次4题·裂了]
noip模拟35 solutions 这是我第一次这么正式的考四个题,因为这四个题都出自同一个出题人,并不是拼盘拼出来的. 但是考得非常的不好,因为题非常难而且一直想睡觉.. 有好多我根本就不会的算法 ...
- CYPEESS USB3.0程序解读之---SPI读写
前面已经解读了GPIO以及同步FIFO操作,下面我们看一个SPI读写的例子,它是主程序命令从SPI中读写一些数据. SPI传输子程序看一下: 页地址,字节计数,缓冲区,读写标志 因为只能一页一页的读或 ...
- git只提交部分修改的文件(提交指定文件)
在我们的项目中,经常会在本地编译一些代码,还未写完,测试那边来告诉你要改改某个文件的bug,非常着急,此时改完了,提交的时候,自己还在编译的代码并不想提交,此时,你可以利用git这些指令帮助你! 1/ ...
- Nginx中location匹配及rewrite重写
目录 一.常用的Nginx正则表达式 二.location 2.1.location三类匹配类型 2.2.常用的匹配规则 2.3.location优先级 2.3.1.举例说明 2.4.实际网站使用中, ...
- Vue系列-05-项目2
路飞学城项目 调整首页细节 固定头部 App.vue <style> body{ padding: 0; margin:0; margin-top: 80px; } </style& ...
- Java横向技术 网络【笔记】
Java横向技术 网络[笔记] 计算机网络 服务器返回给客户端 http 响应包的状态码有哪几大类?302.304 分别是什么意思? 状态码分为五大类: (1)信息性状态码(Informatio ...
- SpringBoot开发二十二-统一处理异常
需求介绍 首先服务端分为三层:表现层,业务层,数据层. 请求过来先到表现层,表现层调用业务层,然后业务层调用数据层. 那么数据层出现异常它会抛出异常,那异常肯定是抛给调用者也就是业务层,那么业务层会再 ...
- 一篇文章搞懂密码学基础及SSL/TLS协议
SSL协议是现代网络通信中重要的一环,它提供了传输层上的数据安全.为了方便大家的理解,本文将先从加密学的基础知识入手,然后展开对SSL协议原理.流程以及一些重要的特性的详解,最后会扩展介绍一下国密SS ...
- Dll文件的创建与测试C#
创建Dll文件 首先使用VS 2019创建Dll项目,创建项目时选择"类库",如下图 在项目中创建类文件,添加测试代码: namespace PlantSim_C_Interfac ...