设为首页 加入收藏

TOP

redis数据操作教程
2018-03-24 09:50:26 】 浏览:82
Tags:redis 数据 操作 教程

数据操作

redis是key-value的数据,所以每个数据都是一个键值对键的类型是字符串,键不能重复值的类型分为五种:

字符串string

哈希hash

列表list

集合set

有序集合zset

参考

数据的操作行为分为:保存、修改、获取和删除等。

数据操作的全部命令 参见https://redis.cn/commands.html

String

string是redis最基本的类型

最大能存储512MB数据

string类型是二进制安全的,可以存储任何数据,比如数字、图片等

设置单个键值: set key value

设置多个键值:set key value [key value...]

设置键值和过期时间(以秒为单位): setex key seconds value

获取单个键值:get key

获取多个键值:mget key [key...]

对应value加1: incr key

对应value减1: decr key

对应value加整数num: incrby key num

对应value减整数num: decrby key num

追加:append key value

获取长度:strlen key

正则查找键:

keys pattern

举例:

127.0.0.1:6379> set ha 111
OK
127.0.0.1:6379> set haha 222
OK
127.0.0.1:6379> set hahaha 333
OK
127.0.0.1:6379> keys ha*
1) "ha"
2) "haha"
3) "hahaha"

判断key是否存在,如果存在返回1,不存在返回0

exists key [key…]

举例:

127.0.0.1:6379> exists 1
(integer) 1
127.0.0.1:6379> exists haha
(integer) 1
127.0.0.1:6379> exists hahaha
(integer) 1
127.0.0.1:6379> exists hah
(integer) 0

查看键对应的value的类型:

type key

举例:

127.0.0.1:6379> type fu
string

删除键及对应的值:

DEL key [key ...]

对于已经存在的键值设置过期时间,以秒为单位

创建时没有设置过期时间则一直存在,直到使用使用DEL移除

expire key seconds

查看有效时间,以秒为单位 ttl(time to live)

ttl key

list

列表的元素类型为string,按照插入顺序排序。

总结增删改查

  增: 从左侧插入数据: lpush key value1 value2 ...
  结果: [value2, value1]
  从右侧插入数据: rpush key value1 value2 ...
  结果: [value1, value2]
  插入一个元素: linsert key before/after 现有元素 要插入的值
  结果: 【1,2,aa, 3,4,5】
  例: linsert mylist before 3 aa

  删: lrem key count value
  改: lset key 索引 value 
  示例: lset mylist 2 abc
  查: lrange key start end

删除

将列表中前count次出现的值为value的元素移除

count大于0: 从头往尾移除

count小于0: 从尾往头移除

count = 0: 移除所有

lrem key count value

修改

设置指定索引位置的元素值

索引从左侧开始,第一个元素为0

索引可以是负数,表示尾部开始计数,如-1表示最后一个元素

lset key index value

获取

返回列表里指定范围内的元素

start、stop为元素的下标索引

索引从左侧开始,第一个元素为0

索引可以是负数,表示从尾部开始计数,如-1表示最后一个元素

lrange key start stop

set

无序集合

元素为string类型

元素具有唯一性,不重复

说明:对于集合没有修改操作

增删查

  增: sadd  key member1 member2 ...
  删: srem key member1 member2 ...
  查: smembers key

zset

sorted set,有序集合

元素为string类型

元素具有唯一性,不重复

每个元素都会关联一个double类型的score,表示权重,通过权重将元素从小到大排序

说明:没有修改操作

增删查总结

  增: zadd key score1 member1 score2 member2 ...
  删: zrem key member1 member2 ...
   zremrangebyscore key min max
  查: zrange key start end 
  zrangebyscore key min max-- 获取权重满足条件的成员
  zscore key member-- 获取成员的权重

hash

hash用于存储对象,对象的结构为属性、值。

值的类型为string。

  ruiyang 
  {
  "name": "ruiyang",
  "age": 20,
  "salary": 10000
  }

增删改查

  增/改:  
   hset key field value
   hmset key field1 value1 field2 value2 ...
  删: hdel key field1 field2 ..
  查: 
  hget key field
  hmget key field1 field2 ...
  hkeys key-- 查看对象所有的属性
  hvals key-- 查看对象所有的属性值
  hlen  key-- 查看hash中属性的个数
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇MySQL数据库管理、表管理及增删改.. 下一篇redis如何发布订阅功能?

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目