redis数据操作

原创 2018年04月15日 20:09:41

数据操作

  • redis是key-value数据结构,每条数据都是一个键值对
  • 键的类型是字符串,并且键不能重复
  • 值得类型分为五种
    • 字符串string
    • 哈希hash
    • 列表list
    • 集合set
    • 有序集合zset

string(字符串)

string是redis最基本的类型,最大能存储512mb数据,string类型是二进制安全的,可以存储任何数据,如图片,数字等.

  • 增加和修改

    • 如果设置的键不存在则为添加,如果键存在则为修改

    set key value

    例:set 'name' 'smallred'设置键为name值为smallred的数据

    • 设置键值以及过期时间,时间以秒为单位

    setex key seconds value

    例:setex 'name' 3 'kaer'设置键为name值为kaer过期时间为3秒的数据

    • 设置多个键值

    mset key1 value1 key2 value2 …

    • 追加值

    append key value

    例:append 'name' ' hhaha'

  • 获取

    • 根据键获取值,如果不存在则返回nil

    get key

    • 根据多个键获取多个值

    mget key1 key2 …

键命令
  • 查找键 参数通配符查找

    keys pattern

  • 查看所有键

    kyes *

  • 查看名称中包含a的键

    keys '*a*'

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

    exists key1

  • 查看键对应的value的类型

    type key

  • 删除键及对应的值

    del key1 key2 …

  • 设置过期时间,秒为单位

  • 如果没有指定过期时间则一直存在,知道用del删除

    expire key seconds

    例:expire 'name' 10设置键name的过期时间10秒

  • 查看有效时间 秒为单位

    ttl key

hash 哈希

hash用于存储对象,对象的结构为属性 值,值的类型为string

  • 增加 修改

    • 设置单个属性

    hset key field value

    例:hest 'py2' 'name' 'hr'设置键为py2的属性name为hr

    • 设置多个属性

    hmset key field1 value1 field2 value2 …

    例:设置键为py3的属性name为dx,属性gender为1,属性birthday为2018-1-1

    hmset 'py3' 'name' 'dx' 'gender' '1' 'birthday' '2018-1-8'

  • 获取

    • 获取指定键所有的属性

    hkeys key

    • 获取一个属性的值

    hget key field

    • 获取多个属性的值

    hmget key field1 field2 …

    • 获取所有属性的值

    hvals key

    例:hvals 'py3' 获取键py3所有属性的值

  • 删除

    • 删除整个hash键及值,用del命令

    • 删除属性,属性对应的值会被一起删除

    hdel key field1 field2 …

list

列表的元素类型为string

按照插入顺序排序

  • 增加

    • 在左侧插入数据

    lpush key value1 value2 …

    例:lpush 'py11' 'dx' 'xd'从键为py11的列表左侧加入数据dx xd

    • 在右侧插入数据

    rpush key value1 value2 …

    • 在指定元素的前面或后面插入新元素

    linsert key before 或 after 现有元素 新元素

  • 获取

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

    • start,stop为元素的下标索引

    • 索引从左侧开始,第一个元素为0
    • 索引可以是负数,表示从尾部开始技术,例如-1表示最后一个元素

    lrange key start stop

  • 修改

    • 指定索引位置的元素值

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

    • 索引可以是负数,表示从尾部开始计数

    lset key index value

  • 删除

    • 删除指定元素

    • 将列表中钱count次出现的值为value的元素一处

    • count>0 :从头往尾移除
    • count<0 从尾往头移除
    • count=0 移除所有

    lrem key count value

set

无序集合 元素类型为string类型,元素具有唯一性不重复 对于结合没有修改操作

  • 增加

    • 添加元素

    sadd key member1 member2 …

  • 获取

    • 返回所有的元素

    smembers key

  • 删除

    • 删除指定元素

    srem key member

    例:srem 'py21' 'yzp'删除键py21的集合中元素yzp

zset

sorted set 有序集合,类型为string,元素具有唯一性,不重复,每个元素都会关联一个double类型的score,表示权重,通过权重将元素从小到大排序,没有修改操作

  • 增加

    • 添加

    zadd key score member1 score2 member2 …

    例:向键py31的集合中添加元素gj hr yg xln 权重分别为1 5 8 3

    zadd 'py31' 1 'gj' 5 'hr' 8 'yg' 3 'xln'

  • 获取

    • 返回指定范围内的元素

    zrange key start stop

    • 返回score值在min和max之间的成员

    zrangebyscore key min max

    • 返回成员member的score值

    zscore key member

  • 删除

    • 删除指定元素

    zrem key member1 member2 …

    • 删除权重在指定范围的元素

    zremrangebyscore key min max

Redis 数据操作命令

1、连接操作相关的命令 quit:关闭连接(connection) auth:简单密码认证 2、对value操作的命令 exists(key):确认一个key是否存在 del...
  • tangsilai
  • tangsilai
  • 2012-04-19 16:05:55
  • 9761

Redis 数据操作

一、Redis 比 Memcached 数据库最大的亮点就在于它支持的数据类型是非常多的,在 Redis 里面支持有字符串数据、hash 数据、列表(List)数据、散列集合(Set)、有序集合。 ...
  • shuxing520
  • shuxing520
  • 2017-08-28 14:09:46
  • 147

将Redis操作封装成Model

Redis经常作为一种内存化的数据库使用,将Redis封装成Model,同一业务类型数据的操作都放在一个Model里,这样可以提高代码的可维护性。为此,我写了一个开源的库redmodel,将Redis...
  • u010205879
  • u010205879
  • 2016-12-08 15:01:36
  • 691

redis入门简介

  • 2017年11月24日 16:39
  • 210KB
  • 下载

redis-desktop-manager

  • 2017年10月27日 15:47
  • 22.69MB
  • 下载

redis操作命令记录

做个记录,方便对redis命令的测试: flushdb --清空数据库 ===对字符串的操作 set --设置一个字符串键值对 mset  --设置多个字符串键值对 setnx --ke...
  • phillaccy
  • phillaccy
  • 2017-07-26 17:31:43
  • 513

Redis数据库

Redis是现在最流行的缓存数据库,利用Redis可以实现10W/秒的数据操作,利用Redis可以解决高并发的数据访问问题,同时Redis又可以与许多的集群架构进行整合处理。
  • 2017年01月20日 07:41

Jedis-单独使用demo(包括redis五种数据类型常见操作)

package jedis; import redis.clients.jedis.*; import java.util.HashMap; import java.util.Map; publ...
  • qq838642798
  • qq838642798
  • 2017-01-05 10:43:03
  • 1192

redis 学习 之 数据操作

本文介绍下redis支持的各种数据类型包括string,list ,set ,sorted set 和hash   1. keys redis本质上一个key-value db,所以我们首先来...
  • dongyansheng_max
  • dongyansheng_max
  • 2011-09-28 16:32:58
  • 713

Redis数据操作命令行

一.String数据类型 (1)set key value [ex 秒数] [px 毫秒数] [nx/xx]         如果ex和px同时写,则以后面的有效期为准       nx:如...
  • sunrise_zhu
  • sunrise_zhu
  • 2017-03-28 17:16:31
  • 794
收藏助手
不良信息举报
您举报文章:redis数据操作
举报原因:
原因补充:

(最多只允许输入30个字)