Redis五种数据类型:

(1)字符串

(2)字符串列表

(3)有序字符串集合

(4)哈希

(5)字符串集合

其中(4)(5)应用最多。

key命名的注意:

(1)不要过长,尽量不要超过1024,会降低查找的效率,和占用内存

(2)不要过短,要增加名字的可读性

(3)设立统一的命名规范

1  字符串

(1)二进制方式存储安全,存入和获取的数据相同
   (2)value可容纳的最多数据长度是512M

常用命令:

(1)赋值

set  [key]   [value]

例如:   set  username   张三  
      (2)取值

      get  [value]

例如:get username

(3)获取并赋值

getset  [key]   [value]
           例如:getset  username  李四

(3)删除

del  [key]
          例句:del   username

(4)数值增减

incr   num  (给数据创建一个变量,然后初始值设置为1,然后给其加一,如果不是int类型自动失败)

decr   num2(与incr正好相反)

(5)扩展命令

incrby  num  6 指定增加的数值
                 decry    num2 3  指定递减的数值
            追加字符串
                 append  num3 5    在一个字符串后追加5这个字符串(如果num3不存在,会创建一个这样的字符串然后加上5)
             查看用  get  num3

2.  存储Hash

(1)String key 和 String value的map容器
         (2)每一个hash可以存储4294967295个键值对
  存储Hash常用命令

(1)赋值
                        语法: hset [table][key] [value]
                                  hset  myhash name 张三 age 13
          (2)取值
                        语法: hget [table][key] [value]
                                  hget  myhash name
                        语法: hmget [table][key] [value]
                                  hmget myhash name age
                         语法: hgetall  [table]  (会返回所有键值对)
                                  hgetall  myhash

(3)删除

语法: hdel [table][key] [key]
                                  hdel myhash name age
                         语法: hdel [table][key]
                                  hdel myhash name 
                        语法: del [table] 删除整张表格
                                  hmget myhash

(4)增加数字

语法: hinctrby  [table][key][value]
                                  hinctrby  myhash name zhangsan
          (5)自学命令
                        判断所找的数据是否存在,存在返回1
                        语法: hexists  [table][key]
                                  hexists  myhash name 
                        获取列数
                        语法: hlen  [table]
                                  hexists  myhash
                         获取所有行的名称
                        语法: hkeys  [table]
                                  hkeys  myhash
                        获取所有值
                        语法: hvals  [table]
                                  hvals  myhash

Redis数据结构(三)的更多相关文章

  1. Redis数据结构

    Redis数据结构 Redis数据结构详解(一)   前言 Redis和Memcached最大的区别,Redis 除啦支持数据持久化之外,还支持更多的数据类型而不仅仅是简单key-value结构的数据 ...

  2. Redis数据结构底层知识总结

    Redis数据结构底层总结 本篇文章是基于作者黄建宏写的书Redis设计与实现而做的笔记 数据结构与对象 Redis中数据结构的底层实现包括以下对象: 对象 解释 简单动态字符串 字符串的底层实现 链 ...

  3. Redis 数据结构与内存管理策略(下)

    Redis 数据结构与内存管理策略(下) 标签: Redis Redis数据结构 Redis内存管理策略 Redis数据类型 Redis类型映射 Redis 数据类型特点与使用场景 String.Li ...

  4. Redis数据结构之intset

    本文及后续文章,Redis版本均是v3.2.8 上篇文章<Redis数据结构之robj>,我们说到redis object数据结构,其有5中数据类型:OBJ_STRING,OBJ_LIST ...

  5. Redis 数据结构之dict

    上篇文章<Redis数据结构概述>中,了解了常用数据结构.我们知道Redis以高效的方式实现了多种数据结构,因此把Redis看做为数据结构服务器也未尝不可.研究Redis的数据结构和正确. ...

  6. Redis 数据结构的实现

    Redis 数据结构的实现 先看个对照关系: Redis数据结构 实现一 实现二 string 整数(如果value能够表示为整数) 字符串 hash 压缩列表(只包含少量键值对, 并且每个键值对的键 ...

  7. Redis学习系列六ZSet(有序列表)及Redis数据结构的过期

    一.简介 ZSet可以说是Redis中最有趣的数据结构了,因为他兼具了Hash集合和Set的双重特性,也是用的最多的,保证了value值的唯一性的同时,,同时又保证了高性能,最主要的是还可以给每个Va ...

  8. 【Redis笔记(四)】 Redis数据结构 - list链表

    原创作品,转载请标明:http://blog.csdn.net/Xiejingfa/article/details/50573605 经过前面的介绍,我们学习了Redis中string字符串.hash ...

  9. 第18章 Redis数据结构常用命令

    18-1 字符串的一些基本命令 18-1 :配置Spring关于Redis字符串的运行环境 <bean id="poolConfig" class="redis.c ...

  10. 【Redis】270- 你需要知道的那些 redis 数据结构

    本文出自「掘金社区」,欢迎戳「阅读原文」链接和作者进行技术交流 ?? 作者简介 世宇,一个喜欢吉他.MDD 摄影.自走棋的工程师,属于饿了么上海物流研发部.目前负责的是网格商圈.代理商基础产线,平时喜 ...

随机推荐

  1. Linux常用命令总结--不断补充

    首先介绍一个很有用的命令:history  查看linux机器上历史命令. 在Linux下查看内存我们一般用free命令:free -m 查看硬盘状况:df -h 查看cpu信息:less /proc ...

  2. odoo 数据库选择的随笔

    odoo 数据库选择的随笔 看到有人讨论 odoo 是否可以使用 SQL Server(MS SQL). 原来 odoo 使用的是 PostgreSQL,PostgreSQL 是很先进的关系性数据库, ...

  3. 3.Appium运行时出现:Original error: Android devices must be of API level 17 or higher. Please change your device to Selendroid or upgrade Android on your device

    参考博客:https://blog.csdn.net/niubitianping/article/details/52624417 1.错误信息:Original error: Android dev ...

  4. vim自定义配置之nerdTree

    vimConfig/plugin/nerdTree-setting.vim let g:NERDTree_title="[NERDTree]" nmap <F2> :N ...

  5. HyperLogLog(不精确的去重计数方案)

    pfadd 用法和sadd一样 pfcount 用法和scard一样 127.0.0.1:6379> get lan (nil) 127.0.0.1:6379> pfadd lan js ...

  6. postman-1版本区别、选择

    postman基于乙醇在腾讯课堂的postman教程 postman特点: 1.便于开发:开发接口的时候需要快速的调用接口,以便调试 2.便于测试:测试的时候需要非常方便的调用接口,通过不同的参数去测 ...

  7. linux中强大的screen命令

    今天发现了一个“宝贝”,就是Linux的screen命令,对于远程登录来说,不仅提供了类似于nohup的功能,而且提供了我非常喜欢的“多个桌面”的功能. 平常开一个putty远程登录,经常需要在两个程 ...

  8. 获取文件夹总大小方法2_获取cmd命令结果,效率最高

    public static long GetDirectorySize(string path) { long res = 0; System.Diagnostics.Process p = new ...

  9. Pthreads Hello World,忙等待,互斥量

    ▶ 一个简单的 Pthreads 程序(不按照<并行程序设计导论>中的程序来写) ● 代码 #include <stdio.h> #include <pthread.h& ...

  10. eclipse自动生成.apt_generated、factory path