Day42 Redis Redis的安装与使用

Redis安装

Redis的安装这里在在Linux系统上实现

1. 配置阿里云yum源

下载配置文件

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

生成缓存

yum makecache

2、上传并解压

tar -zxvf redis-6.2.6.tar.gz -C /usr/local/soft/

3、安装编译所需的依赖

yum install -y gcc-c++ gcc tcl

4、编译并安装Redis

cd 切换目录

cd /usr/local/soft/redis-6.2.6

编译redis

make

创建一个目录 用于保存编译后的结果

mkdir -p /usr/local/soft/redis

安装

make PREFIX=/usr/local/soft/redis install

5、复制配置文件

cp /usr/local/soft/redis-6.2.6/redis.conf /usr/local/soft/redis/

6、配置环境变量

# 编辑文件
vim /etc/profile
​
# 加入以下内容
export JAVA_HOME=/usr/local/soft/jdk1.8.0_171
export REDIS_HOME=/usr/local/soft/redis
export PATH=$PATH:$JAVA_HOME/bin:$REDIS_HOME/bin
​
# 重新加载环境变量
source /etc/profile

7、修改配置文件

编辑文件

vim /usr/local/soft/redis/redis.conf

修改以下内容

​
# 开放远程登录
# 将bind ip 设置为 bind 0.0.0.0 -::1 或者 注释掉
bind 0.0.0.0 -::1
​
# 将 protected-mode yes 改为no 关闭保护模式
protected-mode no
​

8、启动

后台启动

进入到目录cd /usr/local/soft/redis/bin中

后台启动:nohup redis-server redis.conf &

前端启动:redis-server redis.conf

9、关闭

ps -aux | grep redis

找到该进程,杀死

kill -9 加进程号

10、连接

 redis-cli 

11、测试

 插入一条数据
 set  key1 value1
 
 查询数据
 get key1

Redis的使用

插入数据

set key value [EX seconds|PX milliseconds|EXAT timestamp|PXAT milliseconds-timestamp] [NX|XX]

EX:多少秒后过期消失

PX:多少毫秒后过期消失

EXAT:指定时间戳过期

PXAT指定毫秒时间戳过期

NX:不存在 再执行

XX:存在 再执行

注意: set插入数据 如果k存在会覆盖

TTL生存时间

查询生存时间

TTL key

注意:

-1表示没有设置生存时间

-2设置生存时间,但是已经消亡了

删除生存时间

PERSIST key

设置多少秒或者毫秒后过期

EXPIRE key seconds PEXPIRE key milliseconds

设置多少秒或者毫秒后过期

EXPIRE key seconds PEXPIRE key milliseconds

查询

keys pattern

keys *  # *匹配所有
keys k? # ?匹配一位所有
keys k[ab]y #[] 匹配集合中某一位

k的操作

查询k的类型

type key

判断是否存在

EXISTS key

k的重命名

 RENAME key newkey
 RENAMENX key newkey

键删除

DEL key [key ...]

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

字符串的操作

字符串长度 STRLEN key 字符串长度 STRLEN key

追加字符串 APPEND key value 如果键存在就追加;如果不存在就等同于SET key value 获取子字符串 GETRANGE key start end 索引值从0开始,负数表示从字符串右边向左数起,-1表示最有一个字符 覆盖字符串 SETRANGE key offset value

步长

INCR key DECR key

INCR key DECR key

注意:只能是数字类型的String才能使用

位图BitMap

不是真正的数据类型 是隐藏在String的一个二进制的存储方式

一个字符串类型的值最多能存储512M字节的内容 位上限:2^(9+10+10+3)=2^32b

每个位图的位置默认存储的为0,存储数据是按照数据二进制方式 依次顺推

set a a;0110 0001
位图:0110 0001 0000....00000
​
设置某一位上的值
SETBIT key offset value 
    offset偏移量,从0开始
    value不写,默认是0
获取某一位上的值
    GETBIT key offset
返回指定值0或者1在指定区间上第一次出现的位置
    BITPOS key bit [start] [end]
​

位操作

BITOP AND destkey key [key ...] ,对一个或多个 key 求逻辑并,并将结果保存到 destkey BITOP OR destkey key [key ...] ,对一个或多个 key 求逻辑或,并将结果保存到 destkey BITOP XOR destkey key [key ...] ,对一个或多个 key 求逻辑异或,并将结果保存到 destkey BITOP NOT destkey key ,对给定 key 求逻辑非,并将结果保存到 destkey

这些位操作结果的返回值为字符串的长度

a:97:0110 0001

b:98:0110 0010

and :0110 0000    逻辑并:相同为本身,不同为0

or    :0110 0011    逻辑或:相同为本身,不同为1

xor :0000 0011     逻辑异或:相同为0,不同为1           

统计指定位区间上值为1的个数 BITCOUNT key [start] [end] 从左向右从0开始,从右向左从-1开始,注意官方start、end是位,测试后是字节 BITCOUNT testkey 0 0表示从索引为0个字节到索引为0个字节,就是第一个字节的统计 BITCOUNT testkey 0 -1等同于BITCOUNT testkey 最常用的就是 BITCOUNT testkey

注意:八位字节是一个区间

库的操作

redis默认16个库

切换数据库

select index

清除当前库数据 FLUSHDB 清除所有库中的数据 FLUSHALL

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值