reids学习---上

本文档是关于Redis的学习笔记,涵盖了从下载、安装到启动的全过程,并详细介绍了Redis的基础操作,包括key、String、List、Set、Hash和Zset类型的使用。
摘要由CSDN通过智能技术生成

最近这段时间正在学习redis,因为redis实在linux上面弄得,所以顺便学习了一下linux,现在就是redis学习总结。

一、下载

https://redis.io/上进行下载redis,看不懂可以google翻译一下。下载后会使***.tar.gz,比如redis-4.0.2.tar.gz。

二、安装

2.1 安装虚拟机

由于用的是linux,所以用VMware Workstation Pro装的虚拟机,装的是centOS7。具体步骤网上查一下。下载centOS7连接https://www.centos.org/download/,我下载的是DVD版本的。然后安装好虚拟机后我是通过vsftpd上传到虚拟机上面的。具体上传步骤个人按个人的办法上传。

2.2 解压文件并安装

上传文件后对文件进行解压。命令: tar -zxvf ***.tar.gz 目录名
可以解压到制定目录下面。然后进入解压的目录可以进行安装。 PREFIX要安装的目录 ,默认安装就是make就行。默认安装目录/usr/local/bin。如果make失败就是未安装gcc。
make PREFIX=/usr/local/redis install

2.3 启动

启动redis前,先创建一个存放redis配置文件的目录(一般保留默认的配置文件不做修改,然后修改自己拷贝的配置文件,因为默认配置中redis持久化文件存放的配置是:./ ,也就是启动配置文件的根目录),创建文件/opt/redis,然后拷贝redis.conf到此目录(修改配置文件,第一次学习可以不修改)。
redis-server /opt/redis/redis.conf
启动时如果不制定配置文件那就使用默认的配置文件。
然后启动客户端。其中-h 时ip地址,如果是本机可以不用填写,-p是端口号,redis默认端口号是6379。
redis-cli -h 127.0.0.1 -p 6379

测试是否连接,输入ping,返回一个pong,此时redis已经连接成功。也可以进行进程查看 ps -ef | grep redis

127.0.0.1:6379> ping
PONG

、基本操作

在redis中输入命令按tab键可以自动补全。redis默认索引都是从零开始的。

3.1 key及简单命令

跳转库,redis默认是16个库,0-15数字编号。其中*是库数字编号。
select * 
查看当前数据库的key数量
dbsize
清空当前库
flushdb
清空全部库(慎用)
flushall
修改配置文件 :CONFIG SET loglevel "notice" 修改log级别
CONFIG SET 配置文件的键  要修改配置文件的值
获取配置文件:
config get 配置文件的键
或者获取全部
config get *
判断哪个key是否存在
exists key
移动库的key 到别的库,把当前库的key或值剪切到制定的db中。
move key db数字
为给定的key设置过期时间
exprie key 毫秒值
查看key还有多少秒过期-1 永不过期 -2 过期 过期后无法查看当前key的值
ttl key
查看key是什么类型
type key


3.2 String类型

String 类型的是单值单value
设置/获取/删除/添加到末尾/字符串长度
set key value/get key/del key/apped key val/strlen key
增加减少,必须是数字才可以加减,没有key运行默认创建并从0开始
每次加一/每次减一/增加制定数/减少制定数 *为增加减少的数量
incr key/decr key/incrby key */decrby key *
获取key的value字符串从start end 的值 0 -1 获取全部
getrange key start end
设置替换key的value字符串从start开始*的值 *为设置或替换的字符串如果设置或者替换的字符串大于次字符串的值,中间会存储\x00 也就是null,比如 set k1 v1 ; setrange k1 4 123 ; get k1 输出 v1\x00\x00123
setrange key start *
设置多个键值
mset key1 value1 key2 value2 key3 value3
获取多个键的值
mget key1 key2 key3
判断设置多个键值,如果键值对都不存在就都设置,其中一个键值对存在都不设置。
msetnx key1 value1 key2 vlaue2 
先get再set,返回key的旧值
getset key vlaue


3.3 List类型

List类型是单值多value
元素一个接一个地插入到列表头部,从最左边的元素到最右边的元素
lpush key1 v1 v2 v3
输出命令获取key 从0 到 -1的值
lrange key1 0 -1
结果
v3
v2
v1
元素一个接一个地插入到列表的尾部,从最左边的元素到最右边的元素
rpush key2 v1 v2 v3
输出命令获取key 从0 到 -1的值
lrange key2 0 -1
结果
v1
v2
v3
栈顶出库每次出一个/栈底出库每次出一个
lpop key / rpop key
按照索引下标获取元素 从上到下 *号是下表
lindex key *
获取list长度
llen key
删除N个value ?删除几个 *删除哪个元素
lrem key ? *
截取制定范围的值后再赋值给key 开始index 结束index ?是下坐标 相当于获取子串
ltrim key ? ?
从key底部的值出栈 入栈到key1头部
rpoplpush key key1
在key的值中下坐标是index的位置替换value
lset key index value
在key的值value1前面插入value2
linsert key before value1 value2
在key的值value1后面插入value2
linsert key after value1 value2

3.4 Set类型

set类型是单值多value
添加
sadd set v1 v2 v3 v4
查询
smembers set
单值查询判断是不是set中的元素
sismember set v1
获取集合里面的元素个数
scard set
删除集合中元素
srem set value
set中随机出现*个数
srandmember set *
set中随机出栈一个
spop set
把set1中的*赋值给set2
smove set1 set2 *
集合(在前一个set不在后一个set)
差集
sdiff set1 set2
交集
sinter set1 set2
并集
sunion set1 set2


3.5 Hash类型(重要)

Hash类型KV模式不变,但V是一个键值对
添加
hset key hashekey hashvalue
获取
hget key hashkey
设置多个Hash的 key value
hmset key hashkey1 hashvalue1 hashkey2 hashvalue2
获取多个hash的值
hmget key hashkey1 hashkey2
获取全部hash的键值
hgetall key
删除
hdel key hashkey1
获取hash个数
hlen key
查询key里面是否存在某个hashkey
hexists key hashkey
获取key下所有的hashkey
hkeys key
获取key下所有的hashvalue
hvals key
增加hashvalue值(整数) 增加*个
hincrby key hashkey *
增加hashvalue值 (float) 增加*个
hincrbyfloat key hashkey *
如果不存在才存储
hsetnx key hashkey hashvalue

3.6 Zset 类型

Zset类型是在set基础上,加一个score值。
之前set是k1 v1 v2 v3
现在Zset 是k1 score1 v1 score2 v2
添加
zadd key score1 v1 score2 v2
查询 (加withscores) 不加值查询全部v值
zrange key 0 -1
加查询全部值
zrange key 0 -1 withscores

区域查询
zrangebyscore key score1 score2
zrangebyscore key score1 score2 withscores
zrangebyscore key score1 (score2 不包含(
zrangebyscore key score1 score2 limit offset count 分页

删除
zrem key v1
统计个数
zcard key
统计区间个数
zcount key score1 score2
获取下坐标
zrank key v1
获取对应score的值
zscore key v1
逆序获取v1下坐标
zrevrank key v1
逆序获去全部下坐标
zrevrange key 0 -1
翻转查询区间
zrevrangebyscore key score2 score1


以上就是redis基本操作,后续是持久化主从复制和哨兵模式等学习。redis学习---下


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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值