Redis的安装与使用

Redis的安装与使用

Redis可以安装在Window,也可以安装在Linux,强烈建议安装在Linux。

Redis官网:https://redis.io/

Redis中文网:http://www.redis.cn/

windows的安装

  1. 下载地址:https://github.com/MicrosoftArchive/redis/releases

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S9bj8WSh-1611747859133)(file:///C:\Users\75041\AppData\Local\Temp\ksohtml6808\wps1.jpg)]

  1. 解压

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-YmvNGp35-1611747859135)(file:///C:\Users\75041\AppData\Local\Temp\ksohtml6808\wps2.jpg)]

  1. 启动Redis服务

双击redis-server.exe,保持窗口不要关闭。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iEoT65Wq-1611747859138)(file:///C:\Users\75041\AppData\Local\Temp\ksohtml6808\wps3.jpg)]

  1. 测试

双击redis-cli.exe,启动Redis客户端

Linux的安装

进入下载页面:https://redis.io/download,选择最新版本下载。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l64mS1mT-1611747859144)(file:///C:\Users\75041\AppData\Local\Temp\ksohtml6808\wps4.jpg)]

下载完成以后放到Linux服务器上

安装

解压:

tar -zxvf redis-6.0.9.tar.gz

编辑

进入解压后的redis目录,然后执行make命令

cd redis-6.0.9make

*可执行文件**作用*
redis-server启动Redis
redis-cliredis命令行客户端连接工具
redis-benchmark基准测试工具
redis-check-aofAOF持久化文件检测和修复工具
redis-check-dumpRDB持久化文件检测和修复工具
redis-sentinel启动哨兵
redis-trib.rb集群构建工具

修改配置

修改redis-6.0.9/redis.conf文件

#设置客户端连接密码(默认没有密码)requirepass foobared #注释掉#bind 127.0.0.1 #从库要复制时需要保持跟主库一样的密码,否则无法复制。masterauth redis@root

启动服务

src/redis-server redis.conf &

src/redis-server redis-server命令文件

redis.conf 配置文件

& Linux命令,表示后台运行

查看版本

1.查看客户端版本

src/redis-cli -v #-v 或者 --version

返回结果:redis-cli 6.0.9

2.查看服务端版本

src/redis-server -v #-v 或者 --version

返回结果:Redis server v=6.0.9 sha=00000000:0 malloc=jemalloc-5.1.0 bits=64 build=619dddaf7f10f831

注意:redis-cli和redis-server一般都是从同一套源码编译出的,所以应该是一样的。

建立客户端连接

src/redis-cli -a foobared -p 6379

src/redis-cli Redis连接客户端命令文件

-a 指定连接密码(默认没有密码)

-p 指定redis端口(6379)

-h 指定IP(默认127.0.0.1)

也可以先指定端口,连接Redis后再用auth命令输入密码:(推荐)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Ab3rEoOF-1611747859148)(file:///C:\Users\75041\AppData\Local\Temp\ksohtml6808\wps5.jpg)]

快速入门

基本命令

set name zhangsan

set name zhangsa EX|PX 1 ex表示秒 px表示毫秒

expire name 10 给key设置过期时间

get name 获取key的值

del name 删除key

ttl name 查看key的生命周期

flushdb 清空当前库

flushall 清空所有库

select 1 切换库

dbsize 查询库里key 的个数

keys * 查看所有key

exists name 判断key是否存在

move name 1 移动某个key到指定库

String操作

增加判断

setnx name a 设置name=a 如果有就失败

setex name 10 a 设置key为name value为a 10秒存储时间

批量增加

mset key1 value1 key2 value2

msetnx key1 value1 … 原子性操作 判断批量插入 如果有一个key存在 所有都失败

批量获取key

mget key1 key2

字符串拼接

append name aa

字符串截取

getrange name 0 2 包含开始结束 0 -1 截取所有 不会改变原有字符串

替换

setrange name 4 mm 从4下标 替换字符mm

获取旧值设置新值

getset name a

查看字符串字节大小

strlen name 汉字3字节 字母数字1字节

数字加减

增加

incr age

incrby age 10

incrbyfloat age 0.1

减少

decr age

decrby age 10

List操作

Redis的list是双向链表结构,有顺序可重复,一个list最多可存2的32次方-1个元素

常用命令

类型指令
添加rpush lpush linsert
lrange lindex llen
修改lset
删除lpop rpop lrem ltrim
删除(阻塞)blpop brpop

添加

rpush list a b c d 往右边添加元素返回个数

lpush list a b c d 往左边添加元素放回个数

linsert list before|after a 1 往a元素前面或后面添加1 如果没有a元素则添加失败

lrange list 0 -1 查看数组内所有元素 -1表示最后

lindex list 1 查看指定索引元素

lset list 0 aa 修改集合中指定索引数据

llen list 查看集合大小

lpop list 从左边弹出一个元素

rpop list 从右边弹出一个元素

lrem list 2 a 从集合的左边删除两个a元素 0表示删除所有

blpop list 60 阻塞移除一个元素 60内没删除就一直阻塞

Set集合操作

set保存多个元素,里面的元素是无序不重复,存储容量与list一致,可支持取集合中的交并差集

Set常用命令

类型命令
判断exists sismember
添加sadd
查询smembers srandmember scard
删除srem spop
交集sinter
并集sunion
差集sdiff
集合结果另存队列sinterstore sunionstore sdiffstore

sadd set a b c 返回个数 追加也用sadd

sismember set a 判断set中是否存在 a

smembers set 查询所有

srandmember set 2 随机返回两个

scard set 返回个数

srem set a b 删除两个或多个元素返回删除个数

spop set 1 随机删除一个元素并返回

应用场景:抽奖

sinter set set1 取集合交集

sinterstore myset set set1 取set set1中的交集存到myset集合

sunion set set1 集合set set1去重合并

sunion myset set set1 集合set set1去重合并后存储到myset

sdiff set set1 取set set1集合中的差集 set集合中元素在set1集合中不存在 才保存

sdiffstore myset set set1 取set set1集合中的差集并保存到myset

Zset

zset 是可以排序的不重复集合 可以重复的是分数值,可以通过分数值排序

类型指令
添加zadd
修改分值zincrby
删除zrem
查询zcard zscore zcount zrange zrank zrevrank zrangebyscore zrevrangebyscore
交集zinterstore

zadd scope 100 zl 90 xy bw 90 dcm 90 添加一个scope的key 里面存储着一堆带有分数的value 。 分值在前 value在后

zincrby scope 10 zl 给zl加10分

zadd scope incr -5 zl 给zl减5分 同时也可以增加

zrem scope zl 删除scope中的zl元素

zrange scope 0 -1 查看所有value 默认升序 加上withscores可查看分数

zscore scope zl 查看指定值的分数

zcount scope 60 100 返回分值在这之间的个数

zrangebyscore scope 60 100 升序显示60-100之间的元素

zrevrangebyscore scope 100 60 倒序显示60-100之间的元素

zrangebyscore scope -inf +inf withscores limit 0 2 升序查看所有元素包含分值 带分页从0开始查两条

Hash集合

hash是一个 spring类型的 field和value的映射表 适合存储对象,每个hash 可以存储 2的32次方-1个键值对(40多亿)

类型命令
添加hset hmset
查询hget hmget hkyes hvals hgetall hlen hstrlen
删除hdel
判断hexists
自增hincrby hincrbyfloat

hset user:1 id 1 name zhangsan age 1

6.0之前 hset只能设置单个field value

追加也用hset field value 设置重复的字段会覆盖

hmset user:1 id 1 name zhangsan age 1

批量添加field value 如果field有重复就覆盖

hget user:1 id 获取单个field的值

hmget user:1 id name sex 批量获取field

hkeys user:1 查看所有key

hvals user:1 查看所有value

hgetall user:1 查看所有key与value

hlen user:1 查看字段个数

hstrlen user:1 id 查看某个字段占多少字节

常见问题

gcc命令没找到 解决办法

1、安装gcc

yum -y install gcc

2、删除redis-6.0.9目录,重新解压,重新编译

structredisServer没有名为xxx的成员解决办法

1、 安装gcc套装

yum install cpp

yum install binutils

yum install glibc

yum install glibc-kernheaders

yum install glibc-common

yum install glibc-devel

yum install gcc

yum install make

2、 升级gcc

yum -y install centos-release-scl

yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils

scl enable devtoolset-9 bash

disServer没有名为xxx的成员解决办法**

1、 安装gcc套装

yum install cpp

yum install binutils

yum install glibc

yum install glibc-kernheaders

yum install glibc-common

yum install glibc-devel

yum install gcc

yum install make

2、 升级gcc

yum -y install centos-release-scl

yum -y install devtoolset-9-gcc devtoolset-9-gcc-c++ devtoolset-9-binutils

scl enable devtoolset-9 bash

3、删除redis-6.0.9目录,重新解压,重新编译

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值