Mac redis入门
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入门的更多相关文章
- Redis入门教程:特性及数据类型的操作
虽然Redis已经很火了,相信还是有很多同学对Redis只是有所听闻或者了解并不全面,下面是一个比较系统的Redis介绍,对Redis的特性及各种数据类型及操作进行了介绍.是一个很不错的Redis入门 ...
- redis入门(三)
目录 redis入门(三) 目录 前言 事务 原理 Lua脚本 安装 脚本命令 集群搭建工具 redis-trib.rb redis官方集群搭建 集群横向扩展 故障转移 redis管理 参考文档 re ...
- 安装redis入门
redis官网:redis.io redis版本用的是redis-3.2.2 $ wget http://download.redis.io/releases/redis-3.2.2.tar.gz $ ...
- redis入门笔记(2)
redis入门笔记(2) 上篇文章介绍了redis的基本情况和支持的数据类型,本篇文章将介绍redis持久化.主从复制.简单的事务支持及发布订阅功能. 持久化 •redis是一个支持持久化的内存数据库 ...
- redis入门笔记(1)
redis入门笔记(1) 1. Redis 简介 •Redis是一款开源的.高性能的键-值存储(key-value store).它常被称作是一款数据结构服务器(data structure serv ...
- Redis入门指南
随着互联网业务对性能需求日益强烈,作为Key/Value存储的Redis具有数据类型丰富和性能表现优异的特点.如果能够熟练地驾驭它,不管是把它用做缓存还是存储,对很多大型应用都很多帮助.新浪作为世界上 ...
- 【原】Redis入门教程
最近在学习Redis,写几篇文章记录一下学习过程:Redis入门教程. 1.Redis基本概念 Redis Redis Keys Redis 基本数据类型 Redis基本操作 遍历操作 Pub-Sub ...
- windows下使用redis,Redis入门使用,Redis基础命令
windows下使用redis,Redis入门使用,Redis基础命令 >>>>>>>>>>>>>>>> ...
- Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式)
Redis入门 – Jedis存储Java对象 - (Java序列化为byte数组方式) 原文地址:http://alanland.iteye.com/admin/blogs/1600685(欢迎转载 ...
随机推荐
- C#正则Groups高级使用方法
正则表达式号称开发者得瑞士军刀,使用好正则表达式尤其重要. 拆分多个正则: public static string[] SplitByManyRegex(string text, string[] ...
- MyBatis - 3.Mapper XML映射文件
SQL 映射文件有很少的几个顶级元素(按照它们应该被定义的顺序): cache – 给定命名空间的缓存配置. cache-ref – 其他命名空间缓存配置的引用. resultMap – 是最复杂也是 ...
- mongodb实现自增的方法
前面操作看菜鸟教程 function getNextSequenceValue(sequenceName){ var sequenceDocument = Counter.findOneAndUpda ...
- U32592 摘果实
链接:https://www.luogu.org/problemnew/show/U32592 题解: 60-70分 二分+网络流
- C# 之 HttpResponse 类
Response 对象,派生自HttpResponse 类,该类封装来自 ASP.NET 操作的 HTTP 响应信息.存在于System.Web命名空间下. 注:MIME(Multipurpose I ...
- Codeforces 356D Bacterial Melee dp
Bacterial Melee 我们发现所有合法串都是原序列的某个子序列(这个子序列相邻元素相等) 的扩展, 比如子序列为abc, 那么aabbbc, abbbcc 等都是合法串. 所以我们只需要dp ...
- PHP页面间传值的几种方法
方法一:require_once //Page a: <?php $a = "hello"; ?> //Page b: <?php require_once &q ...
- 051 Kafka的安装
后来重新复习的时候,发现这篇文章不错:https://www.cnblogs.com/z-sm/p/5691760.html 一:前提 1.安装条件 Java Scala zookeeper Ka ...
- Windows 如何备份恢复Ubuntu系统文件
之前安装的Win10 + Ubuntu18.04双系统,Ubuntu由于特殊原因崩了,所以打算重装系统 但是进不去Ubuntu系统,Ubuntu中的文件无法备份 试了win10的优盘启动工具中的DG, ...
- 树莓派3 B+ 的串口(USART)使用问题
转载:http://ukonline2000.com/?p=880 最新64位树莓派3已经发布快两周了,玩家们陆陆续续也开始使用上树莓派3了,随着玩家的增多,虽然拥有强大硬件配置的树莓派3也出现了各种 ...