Redis简单介绍以及使用

Redis

一、初始redis

redies一般有做缓存,在以前我们操作数据是都是从数据库中取,但数据库中的数据是存放在磁盘中,每一次从数据库中取数据时都会涉及到IO操作比较耗时,所以引用了缓存机制

1.1 redis软件

阿里网盘地址:https://www.aliyundrive.com/s/tkuu1vKaoky

软件打开后的页面

在这里插入图片描述

redis-cli.exe:是redis的操作程序

redis-server.exe:是redis的客户端

redis.windows.conf ;是redis的配置文件

注意:在使用radis的时候一定要启动redis的客户端

打开客户端的命令:redis-server.exe 全路径名\redis.windows.conf

在这里插入图片描述

注意:要在redis安装文件的根目录下执行这个命令

看到这个页面后,就说明redis的客户端已经开启,此时就不要去动它了,直接去执行redis-cli.exe就可以输入redis的相关命令

1.2 redis的数据结构,及相关命令

1.2.1 数据结构

redis存储结构就是key:value,它的key都是字符串类型,value有5中数据类型:

字符串

list 列表类型 有序 重复

​ set集合 :无序(存取顺序不一致) 不重复

​ hash 哈希类型

​ sortedset 有序集合类型 :有序 ,不允许重复

####1.2.2 相关命令

#####String:字符串类型

命令格式:
set key:value

**get key**

**del key**

**append key value**

**expire key time**

**setnx key value
127.0.0.1:6379> set name lisi  //向缓存中添加数据 key: name value : list
OK
127.0.0.1:6379> get name //从缓存中取数据 get key
"lisi"
127.0.0.1:6379> set name wangwu //覆盖缓存中已经存在的数据
OK
127.0.0.1:6379> get name
"wangwu"
127.0.0.1:6379> del name//删除 
(integer) 1
127.0.0.1:6379> get name
(nil)
127.0.0.1:6379> set num 1
OK
127.0.0.1:6379> get num
"1"
127.0.0.1:6379> incr num//缓存中key 对应的value自增1
(integer) 2
127.0.0.1:6379> decr num//缓存中key 对应的value自减1
(integer) 1
127.0.0.1:6379> incrby num 3//缓存中key 对应的value自增3
(integer) 4
127.0.0.1:6379> decrby num 3//缓存中key 对应的value自减3
(integer) 1
127.0.0.1:6379> set str hello
OK
127.0.0.1:6379> append str world//向key对应的value后追加world
(integer) 10
127.0.0.1:6379> strlen str//获取key对应value的长度
(integer) 10
127.0.0.1:6379> mset age 12 address usa score 65//添加多个
OK
127.0.0.1:6379> keys *//查询所有的key
1) "itemId"
2) "age"
3) "address"
4) "json_province"
5) "num"
6) "mylist"
7) "str"
8) "user"
9) "zset"
10) "myset"
11) "score"
127.0.0.1:6379> expire name 30
(integer) 0
127.0.0.1:6379> expire age 30//设置age 的过期时间 为 30s,30s后在age在缓存中就无法获取
(integer) 1
127.0.0.1:6379> get age
"12"
127.0.0.1:6379> get age
(nil)
127.0.0.1:6379> setnx address china//判断缓存中是否有key,如果存在就无操作,否则就添加
(integer) 0
127.0.0.1:6379>
哈希类型 hash
//命令格式
hset key field value :添加

hget key field:获取

hdel key field:删除

hgetall key:查询所有
127.0.0.1:6379> hset myhash name lisi//添加
(integer) 1
127.0.0.1:6379> hset myhash password 123
(integer) 1
127.0.0.1:6379> hget myhash name//获取
"lisi"
127.0.0.1:6379> hget myhash password
"123"
127.0.0.1:6379> hgetall myhash//显示所有
1) "name"
2) "lisi"
3) "password"
4) "123"
127.0.0.1:6379> hdel myhash password
(integer) 1
127.0.0.1:6379> hget myhash password
(nil)
127.0.0.1:6379> hlen myhash//获取长度
(integer) 1
127.0.0.1:6379> hset user name wuwu
(integer) 1
127.0.0.1:6379> hset user age 12
(integer) 0
127.0.0.1:6379> hset user password 321
(integer) 1
127.0.0.1:6379> hgetall user
1) "username"
2) "zhangsan"
3) "age"
4) "12"
5) "address"
6) "CHN"
7) "name"
8) "wuwu"
9) "password"
10) "321"
127.0.0.1:6379> hlen user
(integer) 5
127.0.0.1:6379> hkeys user
1) "username"
2) "age"
3) "address"
4) "name"
5) "password"
127.0.0.1:6379> hvals user
1) "zhangsan"
2) "12"
3) "CHN"
4) "wuwu"
5) "321"
127.0.0.1:6379>
127.0.0.1:6379> hincrby user age 2
(integer) 14
127.0.0.1:6379> hget user age
"14"
127.0.0.1:6379>
list 列表类型

left:左 right: 右

push 入

pop 出

这个list就好比一个队列:先进先出

lpush key value 从左边入队

lrange key start step :start 0 表示从下标0开始 -1表示步长 -1, 0 -1显示list中所有信息

lpop key 从左边出

同理

rpush

rpop

> 127.0.0.1:6379> lpush list a 
> (integer) 1
> 127.0.0.1:6379> lpush list b
> (integer) 2
> 127.0.0.1:6379> lpush list c
> (integer) 3
> 127.0.0.1:6379> lpush list d
> (integer) 4
> 127.0.0.1:6379> lrange list 0 -1
> 1) "d"
> 2) "c"
> 3) "b"
> 4) "a"
> 127.0.0.1:6379> rpush list a
> (integer) 5
> 127.0.0.1:6379> lrange list 0 -1
> 1) "d"
> 2) "c"
> 3) "b"
> 4) "a"
> 5) "a"
> 127.0.0.1:6379> lpop list
> "d"
> 127.0.0.1:6379> lrange list 0 -1
> 1) "c"
> 2) "b"
> 3) "a"
> 4) "a"
> 127.0.0.1:6379> rpop list
> "a"
> 127.0.0.1:6379> lrange list 0 -1
> 1) "c"
> 2) "b"
> 3) "a"
> 127.0.0.1:6379> lindex list 2
> "a"
> 127.0.0.1:6379> llen list
> (integer) 3
> 127.0.0.1:6379> lrem list 1 b
> (integer) 1
> 127.0.0.1:6379>


set 集合 不重复,存取无序

sadd key vale :添加

smembers key :显示

srem key value:删除

s1集合 11 12 13 14

s2集合 13 14 15 16 17

sunion s1 s2//两个集合取并集

sdiff s1 s2//取s1的差集

sinter s1 s2//取交集

127.0.0.1:6379> sadd set a
(integer) 1
127.0.0.1:6379> sadd set b
(integer) 1
127.0.0.1:6379> smembers set
1) "a"
2) "b"
127.0.0.1:6379> sadd set c
(integer) 1
127.0.0.1:6379> sadd set d e f
(integer) 3
127.0.0.1:6379> smember set
(error) ERR unknown command 'smember'
127.0.0.1:6379> smembers set
1) "b"
2) "f"
3) "a"
4) "d"
5) "e"
6) "c"
127.0.0.1:6379> sadd set c
(integer) 0
127.0.0
  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值