#查看所有的key
127.0.0.1:6379> keys *
1) "age"
2) "name"
#通过name获取value
127.0.0.1:6379> get name
"woms"
#查看value长度
127.0.0.1:6379> strlen name
(integer) 4
#如果name不存在返回nil
127.0.0.1:6379> get hello
(nil)
#append在末尾添加,如果name不存在,会创建一个空字符串,再去拼接
127.0.0.1:6379> append name 123
(integer) 7
127.0.0.1:6379> get name
"woms123"
127.0.0.1:6379> append hello world
(integer) 5
127.0.0.1:6379> get hello
"world"
#查询name是否存在,存在返回1不存在返回0
127.0.0.1:6379> exists name
(integer) 1
#不希望在key存在的时候,盲目的覆盖,使用setnx,如果key不存在,保存成功,返回1,如果key存在,返回0
127.0.0.1:6379> setnx name woms456
(integer) 0
127.0.0.1:6379> setnx addr beijing
(integer) 1
#删除当前数据库中所有的key,flushall删除所有数据库中的key
127.0.0.1:6379> flushdb
OK
127.0.0.1:6379> keys *
(empty list or set)
#mset/mget同时设置多个值,具有原子性
127.0.0.1:6379> mset name woms age 13 addr beijing
OK
127.0.0.1:6379> mget name age
1) "woms"
2) "13"
列表list类型
特点:有序可以重复列表
# 从左边插入两个值
127.0.0.1:6379> lpush name woms wms wumingsheng
(integer) 3
# 查询列表
127.0.0.1:6379> lrange name 0 -1
1) "wumingsheng"
2) "wms"
3) "woms"
# 从右端插入值
127.0.0.1:6379> lrange name 0 -1
1) "wumingsheng"
2) "wms"
3) "woms"
4) "122319"
#查看key的类型
127.0.0.1:6379> type name
list
#删除key
127.0.0.1:6379> del name
(integer) 1
# 在某一个值的前面、后面插入值
127.0.0.1:6379> lrange name 0 -1
1) "wumingsheng"
2) "wms"
3) "woms"
127.0.0.1:6379> linsert name after wms 122319
(integer) 4
127.0.0.1:6379> lrange name 0 -1
1) "wumingsheng"
2) "wms"
3) "122319"
4) "woms"
#查询指定索引位置的值,索引从0开始
127.0.0.1:6379> lindex name 2
"122319"
#lpushx、rpushx仅仅在列表存在的时候才插入值,key不存在,不插入值
127.0.0.1:6379> lpushx hello woms
(integer) 0
#lpop/rpop弹出一个元素
127.0.0.1:6379> lpop name
"bear"
#ltrim截取列表片段,通过索引,类似java中的string截取
127.0.0.1:6379> ltrim name 2 -1
OK
#lset设置指定索引位置的值
127.0.0.1:6379> lrange name 0 -1
1) "122319"
2) "woms"
127.0.0.1:6379> lset name 0 wms
OK
127.0.0.1:6379> lrange name 0 -1
1) "wms"
2) "woms"
哈希hash类型
特点:具有多属性的对象存储
#hmset设置多个字段-值,hset设置单个字段-值
127.0.0.1:6379> hmset wms name wumingsheng age 13 address beijing
OK
#hmget同时获取多个字段,hget获取一个字段
127.0.0.1:6379> hmget wms name age address
1) "wumingsheng"
2) "13"
3) "beijing"
127.0.0.1:6379> hget wms name
"wumingsheng"
#hexists查询key中是否存在某个字段
127.0.0.1:6379> hexists wms name
(integer) 1
#查询所有字段
127.0.0.1:6379> hgetall wms
1) "name"
2) "wumingsheng"
3) "age"
4) "13"
5) "address"
6) "beijing"
#删除某个字段
127.0.0.1:6379> hdel wms name
(integer) 1
hset和hmset会覆盖现在字段,hsetnx只有在字段不存在的时候才会设置字段的值
集合set类型
特点:无须,不可以重复
127.0.0.1:6379> keys *
(empty list or set)
#添加元素
127.0.0.1:6379> sadd name woms wms wumingsheng woms
(integer) 3
#查询元素的个数
127.0.0.1:6379> scard name
(integer) 3
#查看所有的元素
127.0.0.1:6379> smembers name
1) "woms"
2) "wumingsheng"
3) "wms"
#判断元素是否存在
127.0.0.1:6379> sismember name wms
(integer) 1
#删除元素
127.0.0.1:6379> srem name wms
(integer) 1
127.0.0.1:6379> sismember name wms
(integer) 0
#查询redis中key的个数
127.0.0.1:6379> dbsize
(integer) 0
#列出所有的key,可以使用keys命令,也可以使用scan命令
127.0.0.1:6379> keys *
(empty list or set)
127.0.0.1:6379> scan 0
1) "0"
2) (empty list or set)
#删除一个key,使用del命令,也可以使用unlink命令
127.0.0.1:6379> del name
(integer) 1
127.0.0.1:6379> unlink name
(integer) 1
#判断一个key是否存在
127.0.0.1:6379> exists name
(integer) 0
#判断一个key类型
127.0.0.1:6379> type name
string
#重命名一个key
127.0.0.1:6379> rename name name2
OK
#flushdb命令:删除当前数据库的所有key;
#flushall命令:删除所有数据库的所有key;