Redis在Linux中的安装、基础应用

更新中...

目录

更新中...

一、安装

二、基础

三、Redis常用5大数据类型

四、常用指令

Redis键(key)

Redis字符串(String)

Redis列表(List)

Redis集合(Set)

Redis哈希(Hash)

Resis集合Zset(sorted set)


一、安装

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

 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安装

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

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

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

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

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

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

方式一:如下图还未启动

方式二: lsof -i:6379

如图未启动

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

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

打开redis终端:redis-cli

 12,测试键值对数据

13,单元测试效率

redis-benchmark

结果,每秒钟4万

14,关闭

二、基础

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

选择库

2,查看库的key数量

DBSIZE

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

keys *

4,删除key

FLUSHDB:删除当前库的所有key

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

2,移动k1到2号库

move k1 2

3,查看键值对活多久

-1 永不过期

 

设置k2活10秒:EXPIRE k2 10

还剩下6秒

-2已经过期

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列表(List)

1,lpush/rpush/lrange

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

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

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

2,lpop/rpop

弹出栈顶或者栈底

3,lindex

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

4,llen

获取列表长度

5,lrem key

删N个value

如下删除2个3

6,LTRIM

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

7,rpoplpush

RPOPLPUSH 源列表 目的列表

 

8,lset key index value

设置某个位置的值

9,linsert key before/after 值1 值2

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

list总结

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

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

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

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

  • Redis集合(Set)

单值多value

1,sadd/smembers/slsmember

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

smembers:查看集合

slsmember:判断值是否存在

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

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

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

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

5,spop key 随机出栈

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

7,数学集合-

差集sdiff

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

交集sinter

与第一个的交集

并集sunion

与第一个的并集

  • 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

hgetall:

获取所有的键值对

hgetall customer

hdel:

删除键值对

hdel user name

2,hlen

获取键值对个数

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

存在为1,不存在为0

4,hkeys/hvals

hkeys:获取所有的key名称

hvals:获取所有的values值

5,hincrby/hincrbyfloat

hincrby:整数加

hincrbyfloat:浮点数加

hset student1 score 92.3

6,hsetnx

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

  • 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

带key查询

zrange zset01 0 -1 withscores

2,zrangebyscore

按范围查询

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

范例:zrangebyscore zset01 60 (90

大于等于60,小于90

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

3,zrem

删除元素

zrem key 某score下对应的value值

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

zcard:获取个数

zcount :统计区间个数

zrank :获取下标

zscore :获取分数

5,zrevrank key values值

逆序获得下标值

6,zrevrange

逆序查询

 

 

 

 

 

 

 

 

 

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值