更新中...

目录

更新中...

一、安装

二、基础

三、Redis常用5大数据类型

四、常用指令

Redis键(key)

Redis字符串(String)

Redis列表(List)

Redis集合(Set)

Redis哈希(Hash)

Resis集合Zset(sorted set)


一、安装

1,一般软件包在/opt目录下,所以先cd /opt目录

redis安装后在哪个目录中 redis安装在linux哪个目录_Redis

 2,下载安装包到opt目录,并解压

wget http://download.redis.io/releases/redis-5.0.3.tar.gz
tar xzf redis-5.0.3.tar.gz

3, 进入 redis-5.0.3目录,执行make命令(已经安装gcc编译器前提下)

cd redis-5.0.3
make

 4,make完执行make install安装

redis安装后在哪个目录中 redis安装在linux哪个目录_redis安装后在哪个目录中_02

5,进入cd /usr/local/bin目录可以看到生成的文件

redis安装后在哪个目录中 redis安装在linux哪个目录_字符串_03

 6,在/目录下创建myredis目录来存储redis.conf文件

redis安装后在哪个目录中 redis安装在linux哪个目录_redis_04

7,去opt目录下的redis目录中备份redis.conf文件,不影响源文件

redis安装后在哪个目录中 redis安装在linux哪个目录_redis安装后在哪个目录中_05

8,修改myredis目录下的redis.conf配置文件

改no为yes,这样控制台关闭还会在后台运行

redis安装后在哪个目录中 redis安装在linux哪个目录_字符串_06

9,查看进程,否有启动redis

方式一:如下图还未启动

redis安装后在哪个目录中 redis安装在linux哪个目录_redis安装后在哪个目录中_07

方式二: lsof -i:6379

如图未启动

redis安装后在哪个目录中 redis安装在linux哪个目录_redis安装后在哪个目录中_08

 10,redis-server /myredis/redis.conf 启动

redis安装后在哪个目录中 redis安装在linux哪个目录_Redis_09

 11,连接Redis,ping返回PONG代表启动成功

打开redis终端:redis-cli

redis安装后在哪个目录中 redis安装在linux哪个目录_字符串_10

 12,测试键值对数据

redis安装后在哪个目录中 redis安装在linux哪个目录_redis_11

13,单元测试效率

redis-benchmark

redis安装后在哪个目录中 redis安装在linux哪个目录_字符串_12

结果,每秒钟4万

redis安装后在哪个目录中 redis安装在linux哪个目录_字符串_13

14,关闭

redis安装后在哪个目录中 redis安装在linux哪个目录_redis_14

二、基础

1,查看配置文件,看到默认有16个库

redis安装后在哪个目录中 redis安装在linux哪个目录_Redis_15

选择库

redis安装后在哪个目录中 redis安装在linux哪个目录_字符串_16

2,查看库的key数量

DBSIZE

3,列出当前库的所有key值

keys *

4,删除key

FLUSHDB:删除当前库的所有key

redis安装后在哪个目录中 redis安装在linux哪个目录_redis_17

FLUSHALL:删除16个库的所有key
 

 

 

 

 

 

 

 

 

三、Redis常用5大数据类型

String(字符串)、Hash(哈希)、List(列表)、Set(集合)和Zset(sorted set:有序集合)

1,String

一个key对应一个value。

string类型是二进制安全的,意思是redis的string可以包含任何数据,比如jpg图片或者序列化的对象。

string类型是redis最基本的数据类型,一个redis中字符串value最多可以是512M。

2,Hash

Hash是一个键值对集合,是一个string类型的field和value的映射表,hash特别适合用于存储对象

类似于Java的Map<String,Object>

3,List

单值多value

List是简单的字符串列表,安装插入顺序排列,你可以添加一个元素导列表的头部(左边)或者尾部(右边)。

它的底层实际是个链表

4,Set

Set是string类型的无序集合,它通过HashTable实现的。

5,Zset

zset和set一样也是string类型元素的集合,且不允许重复的成员

不同的是每个元素都会关联一个double类型的分数。

redis正是通过分数来未集合中的成员进行从小到大的排序。zset的成员是唯一的,但是分数(socre)却可以重复。

 

四、常用指令

Redis键(key)

1,判断key是否存在

存在返回1,不存在返回0

redis安装后在哪个目录中 redis安装在linux哪个目录_Redis_18

2,移动k1到2号库

move k1 2

redis安装后在哪个目录中 redis安装在linux哪个目录_redis_19

3,查看键值对活多久

-1 永不过期

redis安装后在哪个目录中 redis安装在linux哪个目录_redis安装后在哪个目录中_20

 

设置k2活10秒:EXPIRE k2 10

还剩下6秒

redis安装后在哪个目录中 redis安装在linux哪个目录_redis安装后在哪个目录中_21

-2已经过期

redis安装后在哪个目录中 redis安装在linux哪个目录_redis_22

4,查看key类型

type key

库中存在key则更新值

Redis字符串(String)

1,set/get/del/append/strlen/

2,Incr/decr/incrby/decrby一定要是数字才可以进行加减

Incr/decr:加1/减1

incrby/decrby:加指定值

3,getrange/setrange

范围内截取字符串/设置字符串

4,setex/setnx

设置过期时间/存在不设置值

5,mset/mget/msetnx

设置多个值/获取多个值/设置多个值,只要有一个已经存在就不插入

redis安装后在哪个目录中 redis安装在linux哪个目录_redis_23

Redis列表(List)

1,lpush/rpush/lrange

lrange list01 0 -1//读取list01表,-1表示到结束

lpush list01 1 2 3 4 5//往list01里添加5个数据。左边的是怎么进去倒着出来

redis安装后在哪个目录中 redis安装在linux哪个目录_redis安装后在哪个目录中_24

rpush list02 1 2 3 4 5//往右边的是怎么进去怎么出

redis安装后在哪个目录中 redis安装在linux哪个目录_redis_25

2,lpop/rpop

弹出栈顶或者栈底

3,lindex

按照索引下标获取元素(从上到下)

4,llen

获取列表长度

5,lrem key

删N个value

如下删除2个3

redis安装后在哪个目录中 redis安装在linux哪个目录_字符串_26

6,LTRIM

截取出内容再赋值给原来的列表

redis安装后在哪个目录中 redis安装在linux哪个目录_字符串_27

7,rpoplpush

RPOPLPUSH 源列表 目的列表

 

redis安装后在哪个目录中 redis安装在linux哪个目录_字符串_28

8,lset key index value

设置某个位置的值

redis安装后在哪个目录中 redis安装在linux哪个目录_字符串_29

9,linsert key before/after 值1 值2

将某个值插入到某个值的后面

redis安装后在哪个目录中 redis安装在linux哪个目录_字符串_30

list总结

是一个字符串链表,左右都可以插入;

如果键不存在,则创建,存在则更新内容;

如果值全部移除,对应的键也就消失了;

链表的操作无论是头和尾效率都极高,但是对中间的操作效率就很低。

Redis集合(Set)

单值多value

1,sadd/smembers/slsmember

sadd:添加集合,会去除重复的

redis安装后在哪个目录中 redis安装在linux哪个目录_redis_31

smembers:查看集合

slsmember:判断值是否存在

redis安装后在哪个目录中 redis安装在linux哪个目录_redis_32

2,scard获取集合里面的元素个数

redis安装后在哪个目录中 redis安装在linux哪个目录_redis安装后在哪个目录中_33

3,srem key value 删除集合中元素

redis安装后在哪个目录中 redis安装在linux哪个目录_Redis_34

4,srandmember key 某个整数(随机出几个数字)

比如100个人,抽10个人中红包

redis安装后在哪个目录中 redis安装在linux哪个目录_redis安装后在哪个目录中_35

5,spop key 随机出栈

redis安装后在哪个目录中 redis安装在linux哪个目录_字符串_36

6,smove key1 key2 在key1里的某个值     作用是将key1的某个值赋给key2

redis安装后在哪个目录中 redis安装在linux哪个目录_Redis_37

7,数学集合-

差集sdiff

 以第一个集合为准,set2与set1对比,差什么就显示出来

redis安装后在哪个目录中 redis安装在linux哪个目录_Redis_38

交集sinter

与第一个的交集

redis安装后在哪个目录中 redis安装在linux哪个目录_redis安装后在哪个目录中_39

并集sunion

与第一个的并集

redis安装后在哪个目录中 redis安装在linux哪个目录_字符串_40

Redis哈希(Hash)

KV模式不变,但V是一个键值对

1,hset/hget/hmset/hmget/hgetall/hdel

hset:

hset user id 11

hget:

hget user id

hmset:

hmset customer id 1 name lisi age 20

hmget:

hmget customer id name age

redis安装后在哪个目录中 redis安装在linux哪个目录_redis安装后在哪个目录中_41

hgetall:

获取所有的键值对

hgetall customer

redis安装后在哪个目录中 redis安装在linux哪个目录_Redis_42

hdel:

删除键值对

hdel user name

2,hlen

获取键值对个数

3,hexists key  在key里面的某个值的key

存在为1,不存在为0

redis安装后在哪个目录中 redis安装在linux哪个目录_Redis_43

4,hkeys/hvals

hkeys:获取所有的key名称

hvals:获取所有的values值

redis安装后在哪个目录中 redis安装在linux哪个目录_Redis_44

5,hincrby/hincrbyfloat

hincrby:整数加

redis安装后在哪个目录中 redis安装在linux哪个目录_Redis_45

hincrbyfloat:浮点数加

hset student1 score 92.3

redis安装后在哪个目录中 redis安装在linux哪个目录_redis安装后在哪个目录中_46

6,hsetnx

不存在则插入,存在则不操作

redis安装后在哪个目录中 redis安装在linux哪个目录_redis_47

Resis集合Zset(sorted set)

在set基础上,加一个score值,之前是k1 v1 v2 v3

现在zset是k1 score1 v1 score2 v2

1,zadd/zrange

zadd:

zadd zset01 60 v1 70 v2 80 v3 90 v4 100 v5//添加数据60分的v1人,70分的v2人。。

zrange:

查询

zrange zset01 0 -1

redis安装后在哪个目录中 redis安装在linux哪个目录_字符串_48

带key查询

zrange zset01 0 -1 withscores

redis安装后在哪个目录中 redis安装在linux哪个目录_字符串_49

2,zrangebyscore

按范围查询

zrangebyscore key 开始score 结束score (空 、(不包含、withscores、Limit作用是返回限制)

范例:zrangebyscore zset01 60 (90

大于等于60,小于90

redis安装后在哪个目录中 redis安装在linux哪个目录_Redis_50

范例:zrangebyscore zset01 60 90 limit 2 2//返回结果集中,从2开始截取2个,相当于分页

redis安装后在哪个目录中 redis安装在linux哪个目录_redis_51

3,zrem

删除元素

zrem key 某score下对应的value值

redis安装后在哪个目录中 redis安装在linux哪个目录_字符串_52

 4,zcard/zcount key score区间/zrank key values值,作用是获得下标值/zscore key 对应值,获得分数

zcard:获取个数

redis安装后在哪个目录中 redis安装在linux哪个目录_redis_53

zcount :统计区间个数

redis安装后在哪个目录中 redis安装在linux哪个目录_redis_54

zrank :获取下标

redis安装后在哪个目录中 redis安装在linux哪个目录_redis安装后在哪个目录中_55

zscore :获取分数

redis安装后在哪个目录中 redis安装在linux哪个目录_redis安装后在哪个目录中_56

5,zrevrank key values值

逆序获得下标值

redis安装后在哪个目录中 redis安装在linux哪个目录_字符串_57

6,zrevrange

逆序查询

redis安装后在哪个目录中 redis安装在linux哪个目录_redis_58