Mac redis入门

一、Redis简介

Redis是开源的key-value数据库,运行在内存中,但可以把数据持久化存到磁盘。Redis具有极高的性能,也为各种语言提供了丰富的接口,因此有着广泛的应用。

二、Mac下安装

直接用brew一行命令解决问题

$ brew install redis

启动服务

$ redis-server

测试连接

另开一个终端,输入ping,如果输出pong表示连接成功

$ redis-cli
127.0.0.1:6379> ping
PONG
127.0.0.1:6379>

三、redis数据类型

1. String(字符串)

用get、set访问和设置

127.0.0.1:6379> set a 'hello'
OK
127.0.0.1:6379> get a
"hello"
127.0.0.1:6379>

2. Hash(哈希)

用hget、hset访问和设置,哈希表内部的键用field来表示

127.0.0.1:6379> HSET myhash field1 'hello' field2 'world'
(integer) 2
127.0.0.1:6379> HGET myhash field1
"hello"
127.0.0.1:6379> HGET myhash field2
"world"

3、List(列表)

lpush、rpush表示从左、右插入数据,lpop、rpop表示从左、右弹出数据

127.0.0.1:6379> LPUSH list a
(integer) 1
127.0.0.1:6379> LPUSH list b c
(integer) 3
127.0.0.1:6379> LRANGE list 0 5
1) "c"
2) "b"
3) "a"
127.0.0.1:6379> RPUSH list d
(integer) 4
127.0.0.1:6379> LRANGE list 0 5
1) "c"
2) "b"
3) "a"
4) "d"
127.0.0.1:6379> LPOP list
"c"
127.0.0.1:6379> LRANGE list 0 5
1) "b"
2) "a"
3) "d"
127.0.0.1:6379>

4、Set(集合)

数学意义上的无序不重复集合,元素类型为字符串,sadd添加元素,srem删除元素

127.0.0.1:6379> SADD set redis
(integer) 1
127.0.0.1:6379> SADD set mongodb rabitmq
(integer) 2
127.0.0.1:6379> SADD set redis
(integer) 0
127.0.0.1:6379> SMEMBERS set
1) "mongodb"
2) "rabitmq"
3) "redis"
127.0.0.1:6379> srem set 'redis'
(integer) 1
127.0.0.1:6379> SMEMBERS set
1) "mongodb"
2) "rabitmq"

5、Zset(Sorted set有序集合)

与set类似,但根据score排序

127.0.0.1:6379> ZADD sorted 1 hello
(integer) 1
127.0.0.1:6379> ZADD sorted 5 world
(integer) 1
127.0.0.1:6379> ZADD sorted 3 redis
(integer) 1
127.0.0.1:6379> ZRANGE sorted 0 5
1) "hello"
2) "redis"
3) "world"
127.0.0.1:6379>

三、Python接口

# coding=utf-8
import redis client = redis.Redis() print '---------------'
print 'string测试'
client.set('foo', 1)
print client.get('foo')
client.set('foo', 'you are fine') # 已存在的键直接覆盖值
print client.get('foo')
client.delete('foo') # 删除
print client.get('foo')
client.set('num', 5)
client.incr('num')
client.incrby('num', 5)
print client.get('num') print '---------------'
print 'hash测试'
client.hset('car', 'price', 400)
print client.hget('car', 'price')
print client.exists('car') # 测试key是否已经存在
print client.hexists('car', 'price') # 测试hash中的键是否存在
print client.hexists('car', 'type') print client.hsetnx('car', 'name', 'jack') # 字段不存在时才赋值,nx表示not exist
print client.hsetnx('car', 'name', 'jom') print '---------------'
print 'List测试'
client.lpush('double_list', 1)
client.lpush('double_list', 2)
client.lpush('double_list', 3)
client.rpush('double_list', 4)
client.lpop('double_list')
num = client.llen('double_list')
print client.lrange('double_list', 0, num) print '---------------'
print 'set测试'
client.sadd('my_set', 1)
client.sadd('my_set', 1)
client.sadd('my_set', "abc")
client.sadd('my_set', 123)
client.sadd('my_set', -1)
client.srem('my_set', 1) # remove
print client.smembers('my_set') print '---------------'
print 'sorted set测试'
client.zadd('sorted', 'field1', 1, 'field2', 2)
client.zadd('sorted', 'field3', 4, 'field4', 3)
print client.zrange('sorted', 0, 1)

运行结果

---------------
string测试
1
you are fine
None
11
---------------
hash测试
400
True
True
False
0
0
---------------
List测试
['2', '1', '2', '1', '2', '1', '2', '1', '2', '1', '4', '4', '4', '4', '4']
---------------
set测试
set(['123', 'abc', '-1'])
---------------
sorted set测试
['field1', 'field2']

Mac redis入门的更多相关文章

  1. Redis入门教程:特性及数据类型的操作

    虽然Redis已经很火了,相信还是有很多同学对Redis只是有所听闻或者了解并不全面,下面是一个比较系统的Redis介绍,对Redis的特性及各种数据类型及操作进行了介绍.是一个很不错的Redis入门 ...

  2. redis入门(三)

    目录 redis入门(三) 目录 前言 事务 原理 Lua脚本 安装 脚本命令 集群搭建工具 redis-trib.rb redis官方集群搭建 集群横向扩展 故障转移 redis管理 参考文档 re ...

  3. 安装redis入门

    redis官网:redis.io redis版本用的是redis-3.2.2 $ wget http://download.redis.io/releases/redis-3.2.2.tar.gz $ ...

  4. redis入门笔记(2)

    redis入门笔记(2) 上篇文章介绍了redis的基本情况和支持的数据类型,本篇文章将介绍redis持久化.主从复制.简单的事务支持及发布订阅功能. 持久化 •redis是一个支持持久化的内存数据库 ...

  5. redis入门笔记(1)

    redis入门笔记(1) 1. Redis 简介 •Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure serv ...

  6. Redis入门指南

    随着互联网业务对性能需求日益强烈,作为Key/Value存储的Redis具有数据类型丰富和性能表现优异的特点.如果能够熟练地驾驭它,不管是把它用做缓存还是存储,对很多大型应用都很多帮助.新浪作为世界上 ...

  7. 【原】Redis入门教程

    最近在学习Redis,写几篇文章记录一下学习过程:Redis入门教程. 1.Redis基本概念 Redis Redis Keys Redis 基本数据类型 Redis基本操作 遍历操作 Pub-Sub ...

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

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

  9. Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式)

    Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式) 原文地址:http://alanland.iteye.com/admin/blogs/1600685(欢迎转载 ...

随机推荐

  1. IntelliJ IDEA 中自动生成 serialVersionUID 的方法

    as, idea plugin中搜如下关键字,并安装该插件: GenerateSerialVersionUID 如上图所示,创建一个类并实现Serializable接口,然后按alt+Enter键,即 ...

  2. SQL Server 常用函数使用方法

    之前就想要把一些 SQL 的常用函数记录下来, 直到今天用到substring()这个函数,C# 里面这个方法起始值是 0,而 SQL 里面起始值是 1.傻傻分不清楚... 这篇博客作为记录 SQL ...

  3. C# 会话,进程,线程,线程安全

    会话->进程->线程 b/s网站中,每个用户的访问为一次会话,会话中包含CPU为用户在内存中开辟空间存储的会话信息, 如Session,进程,会话拥有一个进程,同一进程下可以拥有多个线程. ...

  4. CentOS7中Docker-ce的卸载和安装

    一.查看是否已安装了Docker软件包: #查看是否已经安装的Docker软件包sudo yum list installed | grep docker 二.如果已安装不想要的docker/dock ...

  5. SQLALCHEMY_TRACK_MODIFICATIONS adds significant异常的解决方法

  6. vsftp 基于虚拟用户的ftp服务器 如何做配额

    做配额的方法: 1,是用磁盘配额,但是虚拟用户好像没有好办法.只能应用于本地用户.与Vsftpd设置无关 2,文件夹限制大小,是占用的.这和Vsftpd没有关系 所以可以先把用户禁锢在自己工作目录里面 ...

  7. Codeforces 911F Tree Destruction

    Tree Destruction 先把直径扣出来, 然后每个点都和直径的其中一端组合, 这样可以保证是最优的. #include<bits/stdc++.h> #define LL lon ...

  8. Ubuntu + 坚果云

    下载 nautilus_nutstore_amd64.deb sudo dpkg -i nautilus_nutstore_amd64.deb # 运行后,会提示缺少依赖包 sudo apt-get ...

  9. 如何将.SQL文件的数据导入到Mysql的数据库中

    一.用cmd的调试环境导入.sql文件中的数据: WinR键打开cmd输入: MySQL -u root -p 进入MySQL后MySQL>use DR;   MySQL> source  ...

  10. html-字体属性

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...