redis(一) 安装以及基本数据类型操作
redis(一) 安装以及基本数据类型操作
redis安装和使用
redis安装
wget http://download.redis.io/redis-stable.tar.gz
tar zxvf redis-stable.tar.gz
cd redis-stable.tar.gz
make
make install
redis启动
redis-server
redis-cli shutdown
配置
方法一
redis-server /path/to/redis.conf
redis-server /path/to/redis.conf --loglevel warning //设置日志级别
方法二
redis-cli
redis > CONFIG SET loglevel warning
多数据库的选择
> select
数据库基本操作
(1)添加数据和查找数据,通过set/get命令添加和获取数据
127.0.0.1:> select
OK
127.0.0.1:[]> set bar
OK
127.0.0.1:[]> get bar
""
127.0.0.1:[]> get aaa
(nil)
(2)判断一个键是否存在,exists命令可以判断key是否存在,存在返回1,不存在返回0
127.0.0.1:[]> exists bar
(integer)
127.0.0.1:[]> exists aaa
(integer)
(3)删除数据,del命令删除key,返回值为成功删除key的个数
127.0.0.1:[]> del aaa
(integer)
127.0.0.1:[]> del bar
(integer)
(4)获取value的类型
127.0.0.1:[]> set bar
OK
127.0.0.1:[]> type bar
string
(5)自增和自减,incr 、decr以及incrby和decrby实现整数的加减
127.0.0.1:[]> INCR ab
(integer)
127.0.0.1:[]> INCR ab
(integer)
127.0.0.1:[]> INCRBY ab
(integer)
127.0.0.1:[]> DECR ab
(integer)
127.0.0.1:[]> DECRBY ab
(integer)
(6)增加指定浮点数,incrbyfloat可以指定自增的浮点数
127.0.0.1:[]> INCRBYFLOAT ab 1.1
"2.1"
(7)向尾部追加,append命令可以向字符尾部追加内容
127.0.0.1:[]> set key hello
OK
127.0.0.1:[]> append key world
(integer)
127.0.0.1:[]> get key
"helloworld"
(8)获取字符串长度,strlen获取value的长度
127.0.0.1:[]> STRLEN key
(integer)
(9)批量设置和获取,通过mset和mget命令可以批量执行设置和获取
127.0.0.1:[]> mset key1 va1 key2 va2
OK
127.0.0.1:[]> mget key1 key2
) "va1"
) "va2"
(10)位操作
getbit key offset
setbit key offset
bitcount key [start] [end]
bitop operation destkey key [key ...]
散列类型
{
"id":,
"name":"test"
}
基本操作
(1)存储方法,可以通过hset和hget来设置和获取数据
127.0.0.1:[]> hset user id
(integer)
127.0.0.1:[]> hset user name test
(integer)
127.0.0.1:[]> hget user id
""
127.0.0.1:[]> hget user name
"test"
(2)判断字段是否存在,hexists命令,返回1存在,返回0不存在
127.0.0.1:[]> hexists user id
(integer)
127.0.0.1:[]> hexists user age
(integer)
(3)使用hsetnx(hset if not exists)如果不存在赋值
127.0.0.1:[]> hsetnx user age
(integer)
127.0.0.1:[]> hget user age
""
(4)增加数字
127.0.0.1:[]> hincrby user score
(integer)
127.0.0.1:[]> hget user score
""
(5)删除字段
127.0.0.1:[]> hdel user score
(integer)
127.0.0.1:[]> hget user score
(nil)
如何存储数据?
键 字段 字段值
post:id field value
127.0.0.1:[]> incr userid
(integer)
127.0.0.1:[]> hset user: name test
(integer)
127.0.0.1:[]> hset user: score
(integer)
127.0.0.1:[]> incr userid
(integer)
127.0.0.1:[]> hset user: name test2
(integer)
127.0.0.1:[]> hset user: score
(integer)
添加了两条数据,id为1的名字为test分数为90,而id为2的名字为test2分数为90.
127.0.0.1:[]> hmget user: name score
) "test"
) ""
127.0.0.1:[]> hgetall user:
) "name"
) "test2"
) "score"
) ""
127.0.0.1:[]> hkeys user:
) "name"
) "score"
127.0.0.1:[]> hvals user:
) "test"
) ""
127.0.0.1:[]> hlen user:
(integer)
需要注意的是,散列类型无法获取所有存在的键值,也就是id,如果删除了中间某个id的话,只可以使用exist命令来判断key是否存在。
列表类型
基本操作
列表的基本操作命令都是以l开头的。
127.0.0.1:> lpush user test
(integer)
127.0.0.1:> rpush user test1
(integer)
127.0.0.1:> lpop user
"test"
127.0.0.1:> rpop user
"test1"
127.0.0.1:>
127.0.0.1:> llen user
(integer)
127.0.0.1:> lpush user test
(integer)
127.0.0.1:> llen user
(integer)
127.0.0.1:> lrange user
) "test"
) "test1"
) "test2"
) "test3"
127.0.0.1:> lrange user
) "test"
) "test1"
) "test2"
lrem key count value
@count 为删除个数,大于0的话从左边开始,小于0的话从右边开始
@value 要删除的值
我们可以把数据的id存储在列表中,当某一行数据被删除时候,只需要删除为该value为key即可,而查询数据的时候,需要先从列表中读取所有的id,再从散列表中读取数据。
127.0.0.1:> lrange user -
) "test"
) "test1"
) "test2"
) "test3"
127.0.0.1:> linsert user before test1 test0
(integer)
127.0.0.1:> linsert user after test1 test1.
(integer)
127.0.0.1:> lrange user -
) "test"
) "test0"
) "test1"
) "test1.5"
) "test2"
) "test3"
rdroplpush source destination
从source列表的右侧弹出一个数据,添加到destination列表的左侧
集合类型
127.0.0.1:> sadd key
(integer)
127.0.0.1:> sadd key
(integer)
127.0.0.1:> sadd key
(integer)
127.0.0.1:> smembers key
) ""
) ""
127.0.0.1:> srem key
(integer)
127.0.0.1:> smembers key
) ""
127.0.0.1:> sismember key
(integer)
127.0.0.1:> sismember key
(integer)
sdiff key [key...]
sinter key [key...]
sunion key [key...]
127.0.0.1:> scard key
(integer)
sdiffstore destination key [key...]
sinterstore destination key[key...]
sunionstore destination key[key...]
srandmember key [count]
127.0.0.1:> srandmember key
) ""
) ""
) ""
有序集合类型 sorted set
基本操作
(1)zadd添加元素,并设置分数score
127.0.0.1:> zadd students xiaoming
(integer)
127.0.0.1:> zadd students daxiong
(integer)
127.0.0.1:> zscore students xiaoming
""
127.0.0.1:> zrange students
) "xiaoming"
) "daxiong"
127.0.0.1:> zrangebyscore students
) "xiaoming"
127.0.0.1:> zrangebyscore students
) "xiaoming"
) "daxiong"
获取从0开始的前2个数据
127.0.0.1:> zrangebyscore students limit
) "xiaoming"
) "daxiong"
获取从1开始的前2个数据
127.0.0.1:> zrangebyscore students limit
) "daxiong"
127.0.0.1:> zincrby students xiaoming
""
127.0.0.1:> zincrby students - xiaoming
""
127.0.0.1:> zcard students
(integer)
zcount key min max 127.0.0.1:> zcount students
(integer)
127.0.0.1:> zcount students
(integer)
zrem key [key...]
zremrangebyrank key start stop
zremrangebyscore key min max
redis(一) 安装以及基本数据类型操作的更多相关文章
- Redis:安装、配置、操作和简单代码实例(C语言Client端)
Redis:安装.配置.操作和简单代码实例(C语言Client端) - hj19870806的专栏 - 博客频道 - CSDN.NET Redis:安装.配置.操作和简单代码实例(C语言Client端 ...
- Redis快速入门:安装、配置和操作
本文是有关Redis的系列技术文章之一.在之前的文章中介绍了<Redis快速入门:初识Redis>,对Redis有了一个初步的了解.今天继续为大家介绍Redis如何安装.配置和操作. 系列 ...
- Redis简介、与memcached比较、存储方式、应用场景、生产经验教训、安全设置、key的建议、安装和常用数据类型介绍、ServiceStack.Redis使用(1)
1.NOSQL简介 nosql的产生并不是要彻底的代替关系型数据库,而是作为传统关系型数据库的一个补充. Facebook和360使用Cassandra来存储海量社交数据 Twitter在其url抓取 ...
- 缓存系列之三:redis安装及基本数据类型命令使用
一:Redis是一个开源的key-value存储系统.与Memcached类似,Redis将大部分数据存储在内存中,支持的数据类型包括:字符串.哈希表.链表.集合.有序集合以及基于这些数据类型的相关操 ...
- redis的安装使用以及在python中操作redis
一.Redis介绍: Redis可以看作是一个key-value的存储系统,它为我们提供了丰富的数据结构,包括lists,sets,ordered sets和hashes.还包括了对这些数据结构的丰富 ...
- redis安装启动和数据操作
redis安装和启动 1.安装包下载地址 >> redis基本数据类型 string(字符串和数值) .list(列表/队列).hashmap(哈希表[键唯一]). set(集合[值唯一] ...
- redis基础:redis下载安装与配置,redis数据类型使用,redis常用指令,jedis使用,RDB和AOF持久化
知识点梳理 课堂讲义 课程计划 1. REDIS 入 门 (了解) (操作) 2. 数据类型 (重点) (操作) (理解) 3. 常用指令 (操作) 4. Jedis (重点) (操作) ...
- 大数据学习day31------spark11-------1. Redis的安装和启动,2 redis客户端 3.Redis的数据类型 4. kafka(安装和常用命令)5.kafka java客户端
1. Redis Redis是目前一个非常优秀的key-value存储系统(内存的NoSQL数据库).和Memcached类似,它支持存储的value类型相对更多,包括string(字符串).list ...
- windows下Redis安装及利用java操作Redis
一.windows下Redis安装 1.Redis下载 下载地址:https://github.com/MicrosoftArchive/redis 打开下载地址后,选择版本 然后选择压缩包 下载 R ...
随机推荐
- JSP日期时间转C#
DateTime.ParseExact("Wed Aug 03 16:46:24 CST 2016", "ddd MMM dd HH:mm:ss CST yyyy&quo ...
- Jmeter测试结果分析
*.jtl文件内容: 请求发出的绝对时间,响应时间,请求的标签,返回码,返回消息,请求所属的线程,数据类型,是否成功,字节, 响应时间 1458294513309, 382 ...
- CodeSmith Generator 7.0.2激活步骤
地址是:http://www.cnblogs.com/dunitian/p/4096917.html
- HTTP协议-----小白
HTTP是一个属于应用层的面向对象的协议. ***OSI的7层从上到下分别是 7 应用层 6 表示层 5 会话层 4 传输层 3 网络层 2 数据链路层 1 物理层 HTTP协议的主要特点可概括如下: ...
- NSNotification --关于通知
一. 通知(NSNotification)的发送(Post)和注册(add)都必须借助于通知中心(NSNotificationCenter) 发送通知: NSNotificationCenter *c ...
- GridView基础知识
首先,gridview是封装好的,直接在设计界面使用,基本不需要写代码: 1.绑定数据源 GridView最好与LinQDatasourse配合使用,相匹配绑定数据: 2.外观控制 整体控制 自动选择 ...
- js queue dequeue clearQueue stop
一.queue( [queueName ], newQueue ) 操作欲执行队列方法 第一个参数是队列名称,不写的话默认是fx 第二个参数可以是一个函数数组,存放所有队列函数,也可以是一个回掉函 ...
- Django学习中的问题总结
1. 在windows环境下,用pip安装Django后通过在python/Script目录下会生成django-admin.py文件,此时由于pip环境变量已经添加,diango-admin.py与 ...
- maven 搜索不到想从本地仓库依赖的jar包--重建本地maven仓库索引
问题:有时候本地仓库有相关的jar包,但是在pom.xml中利用工具搜索不到 菜单栏设置显示Maven Respositorise视图:Windows--Show View--Other.. (对 ...
- 用户 'IIS APPPOOL\ASP.NET V4.0' 登录失败 解决办法…………
在iis管理器中-->应用程序池-->ASP.NET V4.0---->高级设置-->标识-->改为localSystem