网站首页 文章专栏 redis各种数据类型查看方法之命令行操作并解决中文乱码
redis各种数据类型查看方法之命令行操作并解决中文乱码
编辑时间:Nov. 23, 2019, 11:44 a.m. 作者:赵彦昌 浏览量:3363

redis  解决命令行查看中文乱码只需要在连接串上加一个参数 --raw


方法有效:从开发已来到2019.11.23 之间的版本都有效。之后的版本,没法预期。望以后小伙伴们看到,及时留言指正,不误导他人

如果你只知道 set 和 get 来设置和取值的话,今天来这里您就来对了

大家都知道redis 是一个存放 key-value 键值对的NOSQL 数据库

key 只能是字符串类型

value 有目前可为五种类型:


  String ------> 字符串

  Hash ------> 哈希

  List ------> 列表

  set ------> 集合

  Zset ------> 有序集合

string类型

string是redis最基本的类型,一个key对应一个value。

设置给定 key 的值。如果 key 已经存储其他值, SET 就覆写旧值,且无视类型。

设置数据:set key value 设置多组数据:mset key value  [key value..]

返回一个或多个key的值,若key不存在返回nil,若key存在但不是字符串返回nil

查看数据:get key

将指定的值追加到key末尾,若key不存在,则创建并赋值,返回追加后的字符串长度

追加数据:append key value

返回key的剩余生存时间, -1 表示永久存在, -2表示不存在

ttl key

 

设置 key的同时,设置过期时间(单位:秒) key 过期后将不再可用,会被系统自动删除。

set key value ex seconds

set age 18 ex 20 
或 setex key seconds value 例: ( setex sex 20 '男' )

 

移除指定key的生存时间,成功返回1,若key不存在或不存在生存时间时返回0;

persist key

 

这里追加一个命令:

进入数据库:user db_name;

    如果不知道数据库是否存在,记得加if exists

 

全局key操作

对redis的五个数据类型都适用的命令

rename key newkey 改名

当key和newkey相同或者key不存在时返回一个错误,当newkey已存在时则会覆盖;


keys * # 查看所有的key 
del key # 删除 返回成功的个数 
exists key # 查看key是否存在 返回存在个个数 
type key # 查看key类型 
expire key seconds #设置过期时间 
persist key #移除过期时间



list类型

List类型是一个字符串列表,可以在列表头部或尾部添加/删除数据
在插入数据时,按照插入顺序排序,在列表的头部或者尾部添加元素,
如果该键并不存在,Redis将为该键创建一个。


添加数据:rpush key value [value…] 在尾部添加数据      
                lpush key value [value…] 在头部添加数据


回列表中某个下标的值。index从0开始,当index超出索引时返回null

lindex key index
查看列表所有元素的值


查看数据:lrange key 0 -1

返回列表的长度

llen key
指定列表(下标)索引号进行修改


修改数据:lset key index value
删除数据:lpop key    删除左边第一个 rpop key    删除右边第一个

Hash类型

是一个键值(key=>value)对集合。是string 类型的 field 和 value 的映射表
     user                 { name:juhao,             age:18 }
user -> key(键)      name,age ->field(域)       juhao,18 ->value(值)

 

添加数据:

将field-value设置到hash表中,若key不存在会新建hash表再赋值,已存在则会覆盖

hset key field value

查看域值:


hget key field


批量添加:

hmset key field value field2 value2
查看所有的value:


hvals key
查看所有的field:


hkeys key
 获取多个 field


hmget key field value [field value ...]
# 获取全部`field` 和 `value


# 获取全部`field` 和 `value
hgetall key

 # 查看有几个键值对
hlen key

# 判断hash表中指定域是否存在,返回1,若key或field不存在则返回0;
hexists key field

# 删除
hdel key field 

Set类型

元素为string类型
无序集合
元素具有唯一性,不重复

#增加元素    将一个或多个member元素加入到集合key中,若member已存在那么会忽略此元素,
sadd key member [member...]

# 返回集合key中元素的个数
scard key

# 获取集合中所有元素
smembers key

# 判断集合存在某个值
判断member在key中是否已存在, 返回0或1 
sismember key member

 # 删除
移除一个或多个元素,不存在的member会被忽略,返回被移除元素个数srem key member [member...]

# 随机删除
spop key

zset类型

类似于Set,不同的是Sorted中的每个成员都分配了一个分数(Score)用于对其中的成员进行排序(升序)。
zset的成员是唯一的,但分数(score)却可以重复。


# 添加/修改
zadd key score member[ [score member] ..]

# 查看
zscore key member

# 按索引返回key的成员, withscores表示显示score
zrange key start stop[withscores]
# 显示全部
zrange my_zset 0 -1

# 返回集合中 score 在给定区间的元素
zrangebyscore my_zset  1 4

# 删除
zrem key member [member...]

# 删除集合中索引在给定区间的元素
zremrangebyrank key min max

# 删除集合中 score 在给定区间的元素
zremrangebyscore key min max







来说两句吧
最新评论