4.1 Redis入门

Redis

Redis是一款基于键值对的NoSQL数据库。
Redis将所有的数据都存放在内存中,所以他的它的读写性能十分惊人。
同时,Redis还可以将内存中的数据以快照(直接把内存中的数据原原本本地存储到硬盘中。优点:数据体积小,从硬盘恢复到内存速度快;缺点:存储时耗时较长,且易产生阻塞,降低内存的性能。不适宜实时存储,一般每几个小时存储一次)或日志(存Redis指令,可以实时存储,占磁盘体积较大,体积大,且由于读取时需要执行一遍指令,故读取速度慢)的形式保存在硬盘上,以保证数据的安全性。
Redis典型的应用场景包括:缓存、排行榜、计数器、社交网络、消息队列等。

1.Redis安装

Redis下载网址:https://github.com/microsoftarchive/redis
下拉列表,点击release
下拉列表,点击 release
下载3.2.100版本,按步骤解压安装即可。
在这里插入图片描述
在环境变量的系统变量path里添加Redis的安装目录。

在cmd(管理员身份运行)中输入指令即可启动Redis

C:\WINDOWS\system32>redis-cli
127.0.0.1:6379>
2.Redis的简单使用指令(字符串,哈希,列表,集合,有序集合)

Redis的值支持多种数据结构:
字符串(strings) 、哈希(hashes) 、列表(list) 、 集合(sets)、 有序集合(sorted sets)等。
Redis默认一共有16个库(0~15)
选中库2,1,0

127.0.0.1:6379> select 2
OK
127.0.0.1:6379[2]> select 1
OK
127.0.0.1:6379[1]> select 0
OK
127.0.0.1:6379>

清空库的数据

127.0.0.1:6379> flushdb
OK

①字符串(strings)常用命令
(Redis用a:b来表示a_b变量)
test_count = “1”
获取test_count的值
增加test_count的值
减少test_count的值

127.0.0.1:6379> set test:count 1
OK
127.0.0.1:6379> get test:count
"1"
127.0.0.1:6379> incr test:count
(integer) 2
127.0.0.1:6379> decr test:count
(integer) 1

②哈希(hashes)
Hash表名:test_user key:id value:“1”
Hash表名:test_user key:username value:“zhangsan”
获取id的值
获取username的值

127.0.0.1:6379> hset test:user id 1
(integer) 1
127.0.0.1:6379> hset test:user username zhangsan
(integer) 1
127.0.0.1:6379> hget test:user id
"1"
127.0.0.1:6379> hget test:user username
"zhangsan"

③列表(list)
Redis存储list数据时采取“左进右出”原则
(l开头表left,r开头表示right)
向test_ids放入101,102,103数据
输出test_ids的长度
输出test_ids索引值为0的值
输出test_ids索引值为2的值
输出test_ids索引值在0-2范围的值
弹出test_ids的第一个值
弹出test_ids的第一个值

127.0.0.1:6379> lpush test:ids 101 102 103
(integer) 6
127.0.0.1:6379> llen test:ids
(integer) 6
127.0.0.1:6379> lindex test:ids 0
"103"
127.0.0.1:6379> lindex test:ids 2
"101"
127.0.0.1:6379> lrange test:ids 0 2
1) "103"
2) "102"
3) "101"
127.0.0.1:6379> rpop test:ids
"101"
127.0.0.1:6379> rpop test:ids
"102"

③ 集合(sets)
增加aaa,bbb,ccc,ddd,eee到test_teachers表中
输出集合表长
随机弹出集合中的一个值
随机弹出集合中的一个值
输出test_teachers表中全部元素

127.0.0.1:6379> sadd test:teachers aaa bbb ccc ddd eee
(integer) 5
127.0.0.1:6379> scard test:teachers
(integer) 5
127.0.0.1:6379> spop test:teachers
"ddd"
127.0.0.1:6379> spop test:teachers
"bbb"
127.0.0.1:6379> smembers test:teachers
1) "eee"
2) "ccc"
3) "aaa"

④有序集合(sorted sets)
添加元素 aaa:10 bbb:20 ccc:30 ddd:40 eee:50到test_students
输出test_students表长
输出ccc的值
输出ccc的分数排名
输出索引值0-2的值

127.0.0.1:6379> zadd test:students 10 aaa 20 bbb 30 ccc 40 ddd 50 eee
(integer) 5
127.0.0.1:6379> zcard test:students
(integer) 5
127.0.0.1:6379> zscore test:students ccc
"30"
127.0.0.1:6379> zrank test:students ccc
(integer) 2
127.0.0.1:6379> zrange test:students 0 2
1) "aaa"
2) "bbb"
3) "ccc"

适用于全部库的Redis语句:
输出数据库中全部数据库名
输出test开头的库名
输出test_user中数据的类型
检测是否存在test_user数据库
删除test_user数据库
让test_students设置为10s后过期
10s后查询test_user数据库是否存在

127.0.0.1:6379> keys *
1) "test:students"
2) "test:user"
3) "test:count"
4) "test:teachers"
5) "test:ids"
127.0.0.1:6379> keys test*
1) "test:students"
2) "test:user"
3) "test:count"
4) "test:teachers"
5) "test:ids"
127.0.0.1:6379> type test:user
hash
127.0.0.1:6379> exists test:user
(integer) 1
127.0.0.1:6379> del test:user
(integer) 1
127.0.0.1:6379> expire test:user 10
(integer) 0
127.0.0.1:6379> keys test*
1) "test:students"
2) "test:count"
3) "test:teachers"
4) "test:ids"

其实人和树是一样的,越是向往高处的阳光,它的根就越要伸向黑暗的地底。
——尼采

2020.3.2

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值