什么是redis

Redis是一个Key-value存储系统,redis提供了丰富的数据结构,包括string(字符串),list(列表),sets(集合),ordered set(有序集合),hashes(哈希)。可以对于这些数据执行原子操作,例如对字符串进行附加操作,递增哈希中的值,向列表中增加元素,计算集合的交集,并集和差集等。

Redis的优点

性能极高:redis能支持超过100k每秒的读写频率。

丰富的数据类型:set集合,ordered set有序集合,list列表,string字符串,hashes哈希

原子性:redis的所有操作都是原子性的,同时redis还支持对几个操作全并后的原子性执行

丰富的特性:Redis还支持public/subscribe,通知,key过期等等特性。

安装redis

1、wget

2、tar

3、make

开启redis

在../src/下开启redis-server(服务端)和redis-cli(客户端),先开启服务端。

使用netstat命令监听6379端口,netstat -nlt |grep "6379"(tcp,不做域名解析,显示socket)

redis命令

set数据类型命令

使用set和get命令来创建和检索string,set命令将取代任何已存在的key,set命令还有一个附加参数,可以让set命令只有在没有相同key的情况下成功,反之亦然,可以让set命令在有相同key的情况下成功

set mykey newval nx

set mykey newval xx

加法器

set sum 1

incr counter (sum=2)

incrby counter 50 (sum=52)

redis可以运用mset和mget命令一次性完成多个key-value的对应关系,使用mget命令,redis返回一个value数组

mset a 1 b c 3

mget a b c

list数据类型命令

lpush 插入一个新的元素到头部

rpush 插入一个新的元素到尾部

lrange 显示元素,需要两个索引,0表示list开头第一个,-1表示最后一个

brpop blpop 用阻塞式请求队列

hashes数据类型命令

hashes是字符串字段和字串值之间的映射

hmset命令设置一个多域的hash表

hget命令获取指定的单域

hgetall获取指定key的所有信息

hmget类似于hget,返回一个value数组

Set无序集合命令

sadd 命令产生一个无序集合,返回集合的元素个数

smembers 用于查看集合

sismember用于查看集合是否存在,匹配项包括集合名和元素个数,匹配成功返回1,匹配失败返回0

ordered set有序集合命令

Redis有序集合与普通集合很相似,是一个没有重复元素的字符串集合,不同之处是有序集合的每一个成员都关联了一个权值用来排序集合中的成员。

使用withscores参数返回记录值

redis基础及基本命令的更多相关文章

  1. REDIS基础笔记

    Redis基础笔记 资源链接 简介 简介 安装 五种数据类型及相应命令 1. 字符串类型 2. 散列类型 3. 列表类型 4. 集合类型 5. 有序集合 其他 事务 SORT 生存时间 任务队列 发布 ...

  2. linux - redis基础

    目录 linux - redis基础 redis 源码编译安装 redis 数据结构 1. strings类型 2. list 类型 3. sets集合类型 有序集合 5. 哈希数据结构 centos ...

  3. windows下使用redis,Redis入门使用,Redis基础命令

    windows下使用redis,Redis入门使用,Redis基础命令 >>>>>>>>>>>>>>>> ...

  4. [.net 面向对象程序设计深入](14)Redis——基础

    [.net 面向对象程序设计深入](14)Redis——基础 很长一段时间没更新博客了,坚持做一件事,真不是件容易的事,后面我会继续尽可能的花时间更新完这个系列文章. 因这个系列的文章涉及的范围太大了 ...

  5. linux redis基础应用 主从服务器配置

    Redis基础应用 redis是一个开源的可基于内存可持久化的日志型,key-value数据库redis的存储分为内存存储,磁盘存储和log文件三部分配置文件中有三个参数对其进行配置 优势:和memc ...

  6. 【redis 基础学习】(六)Redis HyperLogLog

    摘自:http://www.mayou18.com/detail/o6M0v9mi.html Redis  HyperLogLog 结构讲解 Redis 在 2.8.9 版本添加了 HyperLogL ...

  7. [.net 面向对象程序设计深入](36)Redis——基础

    [.net 面向对象程序设计深入](36)Redis——基础 很长一段时间没更新博客了,坚持做一件事,真不是件容易的事,后面我会继续尽可能的花时间更新完这个系列文章. 因这个系列的文章涉及的范围太大了 ...

  8. mysql主从复制、redis基础、持久化和主从复制

    一.mysql(mariadb)基础 1.基础命令(centos7操作系统下) 1.启动mysql systemctl start mariadb 2.linux客户端连接自己 mysql -uroo ...

  9. Redis基础用法、高级特性与性能调优以及缓存穿透等分析

     一.Redis介绍 Redis是一个开源的,基于内存的结构化数据存储媒介,可以作为数据库.缓存服务或消息服务使用.Redis支持多种数据结构,包括字符串.哈希表.链表.集合.有序集合.位图.Hype ...

随机推荐

  1. java 指定日期后n天

    RT 算时间本来就是我的弱项:不废话了,贴代码 想传什么参数自己在改改就ok,传入String,放回String public class Text { public static void main ...

  2. mysql安装 demo [linux centos7] [5.7.26]

    MySQL 安装配置 https://www.runoob.com/linux/mysql-install-setup.html =================================== ...

  3. matlab中求解线性方程组的rref函数

    摘自:http://www.maybe520.net/blog/987/ matlab中怎么求解线性方程组呢? matlab中求解线性方程组可应用克拉默法则(Cramer's Rule)即通过det( ...

  4. C# 创建日志

    public void Log(string message) { try { string logFileName = "c:\\log\\LogName" + DateTime ...

  5. 前端-使用template-web.js【模版引擎】渲染数据

    通过ajax请求到的数据,使用传统的拼接字符串也可以做到,但是‘ “ ” ‘这种模式,单引号.双引号容易 扩错,新手入门推荐使用这种,初入前端,需要一个一个敲代码体会一下. 使用 template.j ...

  6. hdu 1007 Quoit Design (经典分治 求最近点对)

    Problem Description Have you ever played quoit in a playground? Quoit is a game in which flat rings ...

  7. HDU 6040 Hints of sd0061 —— 2017 Multi-University Training 1

    Hints of sd0061 Time Limit: 5000/2500 MS (Java/Others)    Memory Limit: 131072/131072 K (Java/Others ...

  8. k-近邻算法(kNN)笔记

    #mat()函数可以将数组(array)转化为矩阵(matrix)# randMat = mat(random.rand(4,4))# 求逆矩阵:randMat.I# 存储逆矩阵:invRandMat ...

  9. Visible Lattice Points

    题目链接 题意:给个N*N的矩形点,求在原点看去能看到多少个点 思路:除了(1,0),(0,1),(1,1)外其他点的xy都互质.所以求欧拉函数.fhi[i]从2加到n,再是两倍,再加3. #incl ...

  10. Fraction Comparision

    题目链接 题意:输入x,a,y,b求x/a和y/b的大小,范围long long int 思路:因为不想用精度,嫌麻烦,所以用了个巧方法.先求x/a和y/b整形的大小,如果相等,再求(x%a)*b和( ...