如何学好Redis?

目录

Redis的下载与安装

Redis概述:

常用命令:

String类型

(1)简介

(2)set命令

(3)get命令

(4)del命令

(5)keys命令(查找键)

(6)exists命令(判断键是否存在)

(7)type命令(查看键对应值的类型)

(8)expire命令(设置键过期时间)

(9)TTL命令(查看键有效时间)

list类型

(1)简介

(2)添加

(3)获取

(4)修改

(5)删除

set类型

(1)简介

(2)添加

(3)获取

(4)判断

(5)删除

(6)获取元素个数

(7)弹出(随机删除)

(8)移动

Hash哈希类型

(1)简介

(2)设置值

(3)获取key下所有的值

(4)获取单个key的值

(5)获取多个key的值

(6)删除

zset类型(有序集合)

(1)简介

(2)添加

(3)索引区间内元素

(4)获取分数区间内的元素

(5)删除元素

(6)获取集合中的算数


Redis的下载与安装

链接:https://pan.baidu.com/s/15-d5Pvgns_7x6Ib1TLSsdw 
提取码:redi

其中版本为:

 

 首先下载Redis-x64-5.0.14.zip的压缩包,将其解压,得到:

启动服务的程序打开为:

连接服务的程序打开:

此时Redis安装完成,接下来安装Redis Desktop Manager(可视化界面)

两个版本都可以安装,此处我安装的是redis-desktop-manager-0.8.8.384版本。

直接下一步,自定义安装目录,简单的安装。

打开后为:

 到此安装完毕~

Redis概述:

Redis 是一个基于内存运行的key-value数据的高性能NoSQL数据库

key是字符串类型,

而value有5种类型:
    1.String类型
    2.list类型
    3.set类型
    4.hash类型
    5.zset类型

它的核心特点为:

Redis的服务器程序采用的是单进程模型来处理客户端的请求。
对读写时间的响 应是通过对epoll函数的包装来做到的。

常用命令:

String类型

(1)简介

字符串(string)是Redis最基本的类型,可以存储String,Integer,Float型的数据,
甚至是二进制数据,一个字符串最大容量是512M

(2)set命令

set 键值
》》》如果键不存在,就是添加
》》》如果键存在,就是修改
---A、设置取值
set name zs 
set name lisi
​
---B、设置过期时间
setex name 20 123456 
​
---C、设置多个键值对
mset key1 value1 key2 value2 key3 value3
​
---D、追加值
append key value

(3)get命令

A、获取单个值
get key1
​
B、获取多个值
mget key1 key2

(4)del命令

A、删除某个键
del key1
​
B、删除多个键
del key1 key2

(5)keys命令(查找键)

mset u1 aa u2 bb u3 cc
keys *

(6)exists命令(判断键是否存在)

如果存在返回1,不存在返回0
exists key

(7)type命令(查看键对应值的类型)

type key

(8)expire命令(设置键过期时间)

expire key seconds
​
案例:
set name zz
expire name 5
get name------------>(等一会儿..)
get name
或者是setex aaa 20(秒)123

(9)TTL命令(查看键有效时间)

TTL key
以秒为单位,返回给定 key 的剩余生存时间(TTL, time to live)。
​
返回值:
当 key 不存在时,返回 -2 。
当 key 存在但没有设置剩余生存时间时,返回 -1 。
否则,以秒为单位,返回 key 的剩余生存时间。

list类型

(1)简介

(1)列表中的值(value)类型为字符串;
(2)字符串List,底层实现上不是数组,而是链表,也就是说在头部和尾部插入一个新元素,
    其时间复杂度是常数级别的;其弊端是:元素定位比数组慢

(2)添加

从左侧插入值:
lpush key value1 value2
从右侧插入值: 
rpush key value1 value2

(3)获取

返回列表里指定范围内的值
(1)索引从左侧开始,第一个值的索引为0;
(2)索引可以是负数,表示从尾部开始计数,如-1表示最后一个值;
(3)start,stop为要获取值的索引。
语法:lrange key start stop
​
例如:
(1)获取列表所有值
lrange  key  0  -1
​
(2)从第三个元素开始获取到最后的值
lrange  key  2  -1
​
实战:
lpush name 1 2 3
rpush name 4 5 6
lrange name 0 -1
lrange name 2 -1

(4)修改

设置指定索引位置的值
(1)索引从左侧开始,第一个值的索引为0;
(2)索引可以是负数,表示从尾部开始,-1代表最后一个值。
语法:lset key index value
​
实战:
lset name 1 aa
lrange name 0 -1

(5)删除

删除指定值
(1)将列表中前count次出现的值移除
(2)count>0:从头往尾删除
(3)count<0:从尾往头删除
(4)count=0:删除所有值
语法:irem key count value
​
(1)实战:
rpush born2 0 1 2 3 4 5 0 1 2 1 0 1 0 2 3 4 1 0 1 1 2
(2)查询列表
lrange born2 0 -1
(3)案例2:从键列表右侧开始删除1个2
lrem born2 -1 2
(4)查询列表
lrange born2 0 -1
(5):从键列表左侧开始删除2个2
lrem born2 2 2
(6)查询列表
lrange born2 0 -1

set类型

(1)简介

字符串Set,无序不可重复,是通过HashTable实现的。

(2)添加

sadd:添加元素,格式是SADD KEY_NAME VALUE1..VALUEN
127.0.0.1:0>sadd myset v1
127.0.0.1:0>sadd myset v1       #不得重复
127.0.0.1:0>sadd myset v2 v3 v4  #可以设置多个值

(3)获取

smembers:获取集合中所有元素,格式是SMEMBERS key
127.0.0.1:0>smembers myset     #查询myset中的值有哪些

(4)判断

sismember:判断元素是否在集合中,格式是SISMEMBER KEY VALUE
127.0.0.1:0>sismember myset v1
127.0.0.1:0>sismember myset v11

(5)删除

srem:删除元素,格式是SREM KEY MEMBER1..MEMBERN
127.0.0.1:0>srem myset v1
127.0.0.1:0>srem myset v1
127.0.0.1:0>smembers myset

(6)获取元素个数

scard:获取集合中元素个数,格式是SCARD KEY_NAME 
127.0.0.1:0>scard myset

(7)弹出(随机删除)

spop:弹出元素,格式是SPOP key [count]
127.0.0.1:0>spop myset
127.0.0.1:0>spop myset
127.0.0.1:0>spop myset
127.0.0.1:0>spop myset
127.0.0.1:0>smembers myset

(8)移动

smove:移动元素,格式是SMOVE SOURCE DESTINATION MEMBER
sadd myset v1 v2 v3
smembers myset
smove myset myset2 v3
smembers myset
smembers myset2

Hash哈希类型

(1)简介

按Hash方式来存放字符串

(2)设置值

单个

1.hset:设置一个值,格式是HSET  KEY_NAME  FIELD  VALUE
案例:
127.0.0.1:0>hset myhash id 123
"1"
127.0.0.1:0>hset myhash name 321
"1"

多个

2.hmset:同时设置多对值,格式是HMSET  KEY_NAME  FIELD1 VALUE1 ...FIELDN VALUEN 
案例:
hmset myhash name 322 age 8

(3)获取key下所有的值

hgetall:获取该key下所有的值,格式是HGETALL KEY_NAME
案例:
127.0.0.1:0>hgetall user
 1)  "id"
 2)  "999"
 3)  "name"
 4)  "zs"
 5)  "pwd"
 6)  "123456"
 7)  "pp"
 8)  "123"
 9)  "pop"
 10)  "234"

(4)获取单个key的值

hget:获取单个key的值,格式是HGET KEY_NAME FIELD_NAME 
127.0.0.1:0>hget user name
"zs"

(5)获取多个key的值

hmget:同时获取多个值,格式是HMGET KEY_NAME FIELD1...FIELDN
案例:
127.0.0.1:0>hmget user pp pop
 1)  "123"
 2)  "234"

(6)删除

hdel:删除某个项,格式是HDEL KEY_NAME FIELD1.. FIELDN
MyConn:0>hdel user id
"1"

zset类型(有序集合)

(1)简介

字符串Set,有序且不可重复,根据Score来排序。

(2)添加

zadd:添加元素,格式是ZADD KEY_NAME SCORE1 VALUE1.. SCOREN VALUEN,
    score和项可以是多对,score可以是整数,也可以是浮点数,
    还可以是+inf表示正无穷大,-inf表示负无穷大
案例:
zadd myzset 10 v1
zadd myzset 10 v1 20 v2 30 v3
zadd myzset 9 v1 20 v2 30 v3

(3)索引区间内元素

zrange:获取索引区间内的元素,格式是ZRANGE key start stop [WITHSCORES]
案例:
zrange myzset 0 -1
zrange myzset 0 -1 withscores

(4)获取分数区间内的元素

zrangebyscore:获取分数区间内的元素,格式是ZRANGEBYSCORE key min max [WITHSCORES] 案例:
zrangebyscore myzset 0  20            #代表大于等于0,小于等于20
zrangebyscore myzset 0  (20           #代表大于等于0,小于20
zrangebyscore myzset 0  (20 withscores  #代表大于等于0,小于20,带分数
zrangebyscore myzset 20 +inf withscores  #代表大于等于20,带分数
zrangebyscore myzset (20 +inf withscores  #代表大于20,带分数

(5)删除元素

zrem:删除元素,格式是ZREM key member [member ...]
案例:
zrem myzset v1 v2                         #删除v1,v2
zrangebyscore myzset 0 +inf withscores    #获取所有的大于0的值和分数

(6)获取集合中的算数

zcard:获取集合中元素个数,格式是ZCARD KEY_NAME
案例:
zcard myzset

以上纯属个人整理,不足之处还望多多指导~

一个爱骑机车的码农敬上!!!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值