redis基本数据类型及命令

一.key相关命令

redis本质上是key-value数据库.所以key操作适用于redis的任何数据类型缓存.

1.exists key
判断是否存在key,存在返回1,不存在返回0

2.del key1 key2...keyN
删除指定key,返回删除key的数目;返回0表示给定key不存在

3.type key
返回给定key的value类型;返回none表示不存在;String为字符类型,list为链表类型;set为无序集合类型;

4.keys pattern
返回匹配指定模式的所有key
example:
keys *
keys key*

5.expire key seconds
设置返回key过期时间;单位为秒

6.ttl key
返回key的剩余过期时间,单位为秒数;-1表示未设置过期时间或未设置秒数

7.randomkey
随机返回当前库中的一个key

8.rename oldkey newkey
重命名key;如果oldkey不存在,返回错误消息;如果newkey存在,则被覆盖;

9.renamenx oldkey newkey
如果newkey存在,返回0,不会覆盖newkey值;失败返回错误消息

10.move key db-index
移动key到制定库

二.String类型

string是二进制安全的,可以保存图片视频等;

相关命令

1.set key value

2.setnx key value
如果key存在不会覆盖

3.get key

4.getset key value
获取key的值,不存在以value设置;如果key不存在,返回nil

5.mget key1 key2 key3
一次获取多个key的值

6.mset key1 value1 ... keyN valueN
一次设置多个key的值

7.msetnx key1 value1 ... keyN valueN
一次设置多个key的值,不覆盖已存在的key

8.incr key
对应key值+1

9.decr key
对应key值-1

10.incrby key integer
对应key值+integer

11.decrby key integer
对应key值-integer

三.list链表类型

list数据类型是指key对应的value是一个双向链表类型.

1.lpush key string
向key对应的list头部添加字符串元素

2.rpush key string
尾部添加元素

3.llen key
返回key对应lists长度

4.lrange key start end
返回指定区间内list的元素(start~end),下标从0开始,-1表示倒数最后一个元素;不会删除元素

5.ltrim key start end
截取指定区间内的元素,下标从0开始, 成功返回ok,失败返回错误消息;会删除元素

6.lset key index value
设置指定下标的值,下标从0开始,如果下标不存在,返回错误;

7.lrem key count value
从list的头部(count整数)或尾部(count负数)删除一定数量(count绝对值)的匹配value的元素

8.lpop key
从list头部删除一个元素并返回

9.rpop key
从list尾部删除一个元素并返回

10.blpop key1...keyN timeout
从左到右扫描key1到key2,对第一个非空list进行lpop操作并返回;如果所有list都为空或不存在,阻塞timeout秒,timeout为0表示一直阻塞.阻塞时,如果其他client对key1到key2的任意一个key进行push操作,阻塞解除并返回;如果超时发生,返回nil

11.rlpop key1...keyN timeout
同brlpop,不同的是blpop是从头部删除,lpop是尾部删除

*如果list中不存在元素,则这个key就会被删除掉.
*list适合做消息队列.

四.set类型

set类型是一种无序集合.

1.sadd key member
增加元素

2.srem key member
删除元素

3.spop key
删除并返回key中随机的一个元素

4.srandmember key
返回key中随机的一个元素,但是不删除

5.smove srckey detkey member
将元素member从srckey集合移动到detkey集合,操作是原子性的.

6.scard key
返回key的元素个数

7.sismember key value
判断元素是否存在,存在1,不存在0

8.smembers key
返回key中对应所有元素

*如果set中不存在元素,则这个key就会被删除掉
*set中元素如果相同,则会被覆盖;这是集合的特性

五.Sorted set类型(有序集合)

与set类型相似,都是string类型的集合,不同的是sorted set属于有序集合.可以构建一个优先级的队列

1.zadd key score member
添加元素member到集合,元素在集合中存在则更新对应的score

2.zrem key member
删除元素member

3.zincrby key incr member
增加对应元素的score,将其加incr值,并重新排序,返回更新后的score

4.zrank key member
返回指定元素在集合中的排名(下标),从小到大排序

5.zrevrank key member
同上,从大到小排序

6.zrange key start end
返回指定区间的元素,按score从小到大排序

7.zrevrange key start end
同上,从大到小排序

8.zrangebyscore key min max
返回集合中score值在给定范围内的元素

9.zcount key min max
返回集合中score值在给定范围内的元素数量

10.zcard key
返回元素数量

11.zremrangebyrank key min max
删除集合中排名在指定区间的元素

12.zremrangebyscore key min max
删除集合中score在指定区间的元素

*具体应用排行榜中按顶贴次数排序

伪代码:

a.初始化
zadd toprank 0 art_id_1
zadd toprank 0 art_id_2
zadd toprank 0 art_id_3

b.顶贴操作,如将art_id为3的文章顶贴一下
zincrby toprank 1 art_id_3

c.按顶贴从大到小排序(前10)
zrange toprank 0 9

六.Hash类型

hash类型的每个key对应一个HashTable,适合存储对象,如用户信息对象等;

1.hset key field value
设置key的field对应的value, 如果不存在设置,存在覆盖

2.hget key field
获取值

3.hmset key field1 value1 ... fieldN valueN
设置多个值

4.hmget key field1 ... fieldN
取多个值

5.hincrby key field1 integer
对key对应的field1增加interger值

6.hexists key field
判断key中是否存在field

7.hdel key field
删除key中对应的field字段

8.hlen key
返回key中对应的fields数目

9.hkeys key
返回对应的fields名称

10.hvals key
返回key中对应所有fields的value

11.hgetall key
返回key中对应的全部的field和value

时间: 2024-08-14 00:17:46

redis基本数据类型及命令的相关文章

Nosql技术--redis系列--redis的数据类型 及相应的命令--String类型

1:redis的官方网站地址是:http://www.redis.com 在线redis命令运行测试地址:http://try.redis.io/ 2:redis的数据类型有5种:String .Hash .Set.List.SortedSet String 类型 1)String是二进制安全的 (1):set 表示设置key和value eg :> set name lusy ok >get name lusy 注意:redis中同一个name对应的value是一样的 (2)setnx:设置

redis数据类型及命令

redis五大数据类型:string(字符串),hash(哈希,类似java的Map),list(列表),set(集合),zset(有序集合) 1.redis的键(key) keys 查询数据库中的key值,keys * 查出所有,keys rt* 查出匹配的key exists key 判断key是否存在 move key db 将key移动到db数据库中,db为数据库的序号 expire key seconds 设置key的过期时间为seconds秒 type key 查看key的类型 2.

Redis的介绍和常用数据类型结构命令的总结

我们先来看一下redis的一个定义,来自官方的: 1 Redis is an open source, BSD licensed, advanced key-value store. It is often referred to as a data structure server since keys can contain strings, hashes, lists, sets and sorted sets. 2 redis是开源,BSD许可,高级的key-value存储系统. 3 可

Redis的数据类型之String

Redis主要支持的数据类型有5种:String ,Hash ,List ,Set ,和 Sorted Set. Redis数据类型String string类型在redis中是最常见的类型,value存储最大数据量为512M,可以存放json数据,图像数据等等. 下面跟着敲Redis命令操作String类型数据的代码吧. redis数据写命令Set,相当于数据插入 redis 127.0.0.1:6379> set name zlh --返回值: ok,说明插入成功.如果当前name存在值则覆

《Redis入门指南(第二版)》读书思考总结之Redis五大数据类型

热身:系统级命令 1. 获得符合规则的键名列表 KEYS pattern 模式匹配 产品的缓存:product+"."+....;  => keys product* 订单的缓存:order+"."+...;    => keys order* 使用 KEYS *能获得Redis中的所有键 提示:KEYS命令需要遍历Redis中的所有键,当键的数量较多时会影响性能,不建议在生产环境中使用.Redis不区分命令大小写. 2. 判断一个键是否存在 EXIST

Redis基本数据类型

-------------------Redis基本数据类型------------------- 1.String 字符串 1.概念 1.String 是redis最基本的类型,value 不仅可以是 String,也可以是数字:使用 Strings 类型,可以完全实现目前 Memcached 的功能,并且效率更高.还可以享受 Redis 的定时持久化(可以选择 RDB 模式或者 AOF 模式):string类型是二进制安全的.意思是redis的string可以包含任何数据,比如jpg图片或者

Redis常用数据类型介绍、使用场景及其操作命令

Redis常用数据类型介绍.使用场景及其操作命令 本文章同时也在cpper.info发布. Redis目前支持5种数据类型,分别是: 1.String(字符串) 2.List(列表) 3.Hash(字典) 4.Set(集合) 5.Sorted Set(有序集合) 下面就分别介绍这五种数据类型及其相应的操作命令. 1. String(字符串) String是简单的 key-value 键值对,value 不仅可以是 String,也可以是数字.String在redis内部存储默认就是一个字符串,被

Redis 数据结构解析和命令指南

命令参考文档:redis commands - 你也许已经知道Redis并不是简单的key-value存储,实际上他是一个数据结构服务器,支持不同类型的值.也就是说,你不必仅仅把字符串当作键所指向的值.下列这些数据类型都可作为值类型. 二进制安全的 字符串 string 二进制安全的 字符串列表 list of string 二进制安全的 字符串集合 set of string,换言之:它是一组无重复未排序的element.可以把它看成Ruby中的 hash–其key等于element,valu

Redis介绍及常用命令

Redis介绍及常用命令 Redis是一个key-value存储系统.和Memcached类似,但是解决了断电后数据完全丢失的情况,而且她支持更多无化的value类型,除了和string外,还支持lists(链表).sets(集合).zsets(有序集合).Hashes(哈希表)几种数据类型.这些数据类型都支持push/pop.add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的. 博客分类: NoSql---Redis nosqlredis 一 Redis介绍 Red