Redis学习2
4 Redis基本操作命令
redis默认为16个库(在redis.conf文件可配置,该文件很重要,后续很多操作都是这个配置文件)redis默认自动使用0号库
4.1 沟通命令
解释:输入ping,redis给我们返回PONG,表示redis服务运行正常
127.0.0.1:6379>
127.0.0.1:6379>
127.0.0.1:6379>
127.0.0.1:6379>
127.0.0.1:6379> ping
PONG
127.0.0.1:6379>
4.2 查看当前数据库中key的数目
解释:回当前数据库的key 的数量
127.0.0.1:6379> dbsize
(integer) 0
127.0.0.1:6379>
4.3 切换库命令
解释:起换数据库
127.0.0.1:6379> select 1
OK
127.0.0.1:6379[1]> select 2
OK
127.0.0.1:6379[2]>
Redis默认使用16个库,从0到15。对数据库个数的修改,在redis.conf文件中databases 16
# To enable logging to the system logger, just set 'syslog-enabled' to yes,
# and optionally update the other syslog parameters to suit your needs.
# syslog-enabled no
# Specify the syslog identity.
# syslog-ident redis
# Specify the syslog facility. Must be USER or between LOCAL0-LOCAL7.
# syslog-facility local0
# Set the number of databases. The default database is DB 0, you can select
# a different one on a per-connection basis using SELECT <dbid> where
# dbid is a number between 0 and 'databases'-1
databases 16
4.4 删除当前库
127.0.0.1:6379> flushdb
OK
127.0.0.1:6379>
4.5 退出
exit
或
quit
5 Redis的key操作命令
5.1 显示所有的key
语法:keys pattern 作用:查找所有符合模式 pattern 的 key. pattern 可以使用通配符。
通配符:
* :表示 0或多个字符 ,例如:keys * 查询所有的 key
?:表示单个字符,例如:wo?d , 匹配 word , wood
127.0.0.1:6379> set word word
OK
127.0.0.1:6379> set wood wood
OK
127.0.0.1:6379> keys wo*d
1) "word"
2) "wood"
127.0.0.1:6379> keys wo?d
1) "word"
2) "wood"
127.0.0.1:6379>
5.2 判断key是否存在
语法:exists key [key…]
作用:判断 key 是否存在
返回值:整数,存在 key 返回 1,其他返回 0. 使用多个 key,返回存在的 key 的数量。
127.0.0.1:6379> keys *
1) "woood"
2) "word"
3) "wood"
127.0.0.1:6379> exists word wood hello
(integer) 2
127.0.0.1:6379> exists word
(integer) 1
127.0.0.1:6379> exists hello
(integer) 0
127.0.0.1:6379>
5.3 设置key的过期时间
语法:expire key seconds
作用:设置 key 的生存时间,超过时间,key 自动删除。单位是秒。
返回值:设置成功返回数字 1, 其他情况是 0
例如设置红灯的过期时间是5秒
127.0.0.1:6379> expire redlight 5
(integer) 0 //key值不存在返回0
127.0.0.1:6379> set redlight redlight
OK
127.0.0.1:6379> expire redlight 5
(integer) 1
127.0.0.1:6379>
5.4 返回key的剩余生存时间
语法:ttl key
作用:以秒为单位,返回 key 的剩余生存时间(ttl: time to live)
返回值:
-1 :没有设置 key 的生存时间, key 永不过期。
-2 :key 不存在
数字:key 的剩余时间,秒为单位
127.0.0.1:6379> set redlight redlight
OK
127.0.0.1:6379> expire redlight 10
(integer) 1
127.0.0.1:6379> ttl redlight
(integer) 2
127.0.0.1:6379> ttl redlight
(integer) -2
127.0.0.1:6379>
5.5 查看数据类型
语法:type key
作用:查看 key 所存储值的数据类型
返回值:字符串表示的数据类型
⚫ none (key 不存在)
⚫ string (字符串)
⚫ list (列表)
⚫ set (集合)
⚫ zset (有序集)
⚫ hash (哈希表)
127.0.0.1:6379> get wood
"wood"
127.0.0.1:6379> type wood
string
127.0.0.1:6379> type not-exist
none
127.0.0.1:6379>
5.6 删除指定key的值
语法:del key [key…]
作用:删除存在的 key ,不存在的 key 忽略。
返回值:数字,删除的 key 的数量。
127.0.0.1:6379> del not-exists
(integer) 0
127.0.0.1:6379> del wood
(integer) 1
127.0.0.1:6379>
6 Redis的五种数据类型
6.1 字符串类型
字符串类型是 Redis 中最基本的数据类型,它能存储任何形式的字符串,包括二进制 数据,序列化后的数据,JSON 化的对象甚至是一张图片。最大 512M。
key | value |
---|---|
name | zhangsan |
6.2 哈希类型
Redis hash 是一个 string 类型的 field 和 value 的映射表,hash 特别适合用于存储对象
key | loginuser |
---|---|
filed1 | value1 |
filed2 | value2 |
filed 3 | value3 |
filed 4 | value4 |
6.3 列表类型
Redis 列表是简单的字符串列表,按照插入顺序排序。可以添加一个元素到列表的头 部(左边)或者尾部(右边)
key | value |
---|---|
city | 上海 北京 天津 |
6.4 集合类型
Redis 的 Set 是 string 类型的无序集合,集合成员是唯一的,即集合中不能出现重复的数据.
key | values |
---|---|
spring | |
framework | mybatis |
struts |
6.5 有序集合zset(sorted set)
Redis 有序集合 zset 和集合 set 一样也是 string 类型元素的集合,且不允许重复的成员。 不同的是 zset 的每个元素都会关联一个分数(分数可以重复),redis 通过分数来为集合中的 成员进行从小到大的排序
key | value score |
---|---|
zhangsan 90 | |
salary | lisi 80 |
wangwu 100 |