1、Redis的基本命令
redis中其实有16个db,我们可以通过查看配置文件得知
$ vim mconfig/redis.conf
可以翻译一下注释,默认的db是0,你可以通过select命令来切换db
select 3
可以看到,我们切换到了3号db,我们可以通过
select 0
来切换回默认的数据库,并且不同db存储的值是不会影响的
127.0.0.1:6379[3]> set name zhangsan # String的设置值方法 语法格式:set key value
OK
127.0.0.1:6379[3]> DBSIZE # 可以通过这个命令去查看我们key的数量
(integer) 1
127.0.0.1:6379[3]> select 0 # 更改db为0
OK
127.0.0.1:6379> get name # 获取key为name的value
(nil) # 返回空,那么证明不同db所用的数据是独立的,别的db不能访问到
清空数据库指令
127.0.0.1:6379> FLUSHDB
OK # 我们从上面知道,不同的db是不会相互影响的,所以清空默认的数据库是不会影响3号数据库中的数据的
127.0.0.1:6379> select 3 # 选择3号db
OK
127.0.0.1:6379[3]> DBSIZE # 再次查看值的数量
(integer) 1 # 返回1,所以清空默认数据库不会清空3号db的数据
127.0.0.1:6379[3]> FLUSHDB # 清空3号db数据
OK
127.0.0.1:6379> get name #数据被清空
(nil)
其实还有一个指令可以直接清空所有的数据库
127.0.0.1:6379> FLUSHALL # 清空所有数据库中的数据
OK
这样16个db中的数据都被清空了,谨慎使用!!!!
查看数据库所有的key和其他指令
127.0.0.1:6379> set name zhangsan
OK
127.0.0.1:6379> set age 3
OK
127.0.0.1:6379> set gender mail # 向数据库中插入3个String类型的的数据
OK
127.0.0.1:6379> keys * # 查看当前数据库中所有的key
1) "gender"
2) "age"
3) "name"
127.0.0.1:6379> EXISTS name # 判断key是否存在
(integer) 1
127.0.0.1:6379> EXISTS name age gender # 这个指令所要传递的key是可变长参数,既可以传递多个key,返回key存在的个数
(integer) 3
127.0.0.1:6379> EXPIRE name 10 # 设置key的存在时长,单位是秒,我这里设置了10秒过后,name的key将会消失
(integer) 1
127.0.0.1:6379> ttl name # 查看当前key的剩余时间
(integer) 7
127.0.0.1:6379> ttl name
(integer) 5
127.0.0.1:6379> ttl name
(integer) 3
127.0.0.1:6379> ttl name
(integer) 1
127.0.0.1:6379> ttl name # -2代表key已经不存在,如果是-1的话,那么代表key永远存在
(integer) -2
127.0.0.1:6379> get name # key过期了,此时再次获取key将获取不到
(nil)
127.0.0.1:6379> type age # 查看当前key的类型
string
2、五大基本类型
Redis是一个开源(BSD许可)的内存数据结构存储,用作数据库、缓存和消息代理。Redis提供数据结构,如字符串(String)、哈希(Hash)、列表(List)、集合(Set)、带范围查询的排序集合(Zset)、位图(bitmaps)、hyperloglogs、地理空间索引(geospatial )和流。Redis具有内置复制、Lua脚本(Lua scripting)、LRU逐出(LRU eviction)、事务(transactions)和不同级别的磁盘持久性,并通过Redis Sentinel和Redis Cluster的自动分区提供高可用性(high availability)。
2.1、String
String是以key-value进行存储的,基本的命令
2.1.1、设置值
127.0.0.1:6379> set name hello # 设置key和value
OK
127.0.0.1:6379> get name # 通过key去获取value
"hello"
127.0.0.1:6379> set age 3
OK
127.0.0.1:6379> get age
"3"
2.1.2、删除值
127.0.0.1:6379> DEL gender # 通过DEL来删除key,参数可以传递多个key,是一个可变长参数
(integer) 1
127.0.0.1:6379> get gender # 再次查看key,发现为空,证明已被删除
(nil)