redis学习

Posted 老鼠阿尔吉侬

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了redis学习相关的知识,希望对你有一定的参考价值。

详细的教程可以看http://www.redis.net.cn/tutorial/3505.html

我们这里是个最简易的教程

 

数据库server在ubutnu下面,我们直接自动安装

sudo apt-get install redis-server

 

修改配置文件,路径在/etc/redis/redis.conf

注释掉下面就可以监听所有本机ip

# bind 192.168.1.100 10.0.0.1
#bind 127.0.0.1

重启redis-server sudo service redis-server restart

 

 

现在使用windows客户端连接数据库,下载最新版本https://github.com/dmajkic/redis/downloads,切换到redis目录下运行 redis-cli.exe -h 192.168.1.188 -p 6379

192.168.1.188是我的ubuntu主机

现在,可以把redis当成普通数据库了。

 

接下来就是数据库操作。

Redis支持五种数据类型:string(字符串),hash(哈希),list(列表),set(集合)及zset(sorted set:有序集合)。

 

二:基本操作
1.1key键操作
1:exists key            测试指定key是否存在

2:del key1 key2 ---keyN      删除给定的key

3:type  key         返回给定key的value类型

4:keys pattern      返回匹配指定模式的所有key

5:rename oldkey newkey   改名字

6:dbsize          返回当前数据库的key数量

7:expire key seconds       为key指定过期时间

8:ttl key            返回key的剩余过期秒数

9select db-index      选择数据库

10 move key db-index            将key从当前数据库移动到指定的数据库

11:flushdb           删除当前数据库中所有的key

12:flushall          删除所有数据库中的所有key

1.2:string类型操作
string是redis最基本的类型,一般我们可以用来保存序列化的对象或者一些图片的二进制字符串

1set key value          设置key对应的值为string类型的value

2:mset key1 value1 key2 value2  一次性设置多个key的值

3:mget key1 key2 ----keyN           一次获取多个key的值

4:incr key             对key的值做加加操作,并返回新的值

5:decr key             同上,但是做的是减减操作

6:incrby key integer        同incr,加指定值

7:decrby key integer        同decr,减指定值

8:append key value         给指定key的字符串值追加value

9:substr key start  end                 内容截取,内容下标从0开始,截取的内容包括start和end位置

1.3: List链表类型操作
list类型其实是一个双向的链表,通过push,pop操作从链表的头部或者尾部添加删除元素,这使得list既可以用作栈,也可以用作队列。一般我们使用它来获取最新的信息,可以存储n条,如果有新纪录加进来,就删除旧的信息

lpush key string         在key对应的list的头部添加字符串元素

rpop key            从list的尾部删除元素,并返回删除元素

llen key             对应list的长度,key不存在返回0,如果key对应类型不是list返回错误

lrange key start end      返回指定区间内的元素,下标从0开始

rpush key string                       同上,在尾部添加

lpop key              从list的头部删除元素,并返回删除元素

ltrin key start end        截取list,保留指定区间内元素

1.4: set集合类型操作
set其实相当于string类型的无序集合

关于set集合类型除了基本的添加,删除操作,其他有用的操作还包含集合的并集,交集,差集,一般可以用来实现好友推荐功能

1:sadd key member       添加一个string元素到key对应的set集合中,成功就返回1,如果元素已经在集合中,返回0,key对应的set不存在返回错误

2:srem key member [member]  从key对应set中移除给定元素,成功就返回1

3:scard key            返回set的元素个数

4:sismember key member    判断member是否在set中

5:sinter key1 key2 key3 ---keyN  返回所有给定key的交集

6:sunion key1 key2 --keyN          返回所有给定key的并集

7:sdiff key1 key2 --keyN             返回所有给定key的差集

8:smembers key         返回key对应set的所有元素

1.5 sort set 排序集合类型
元素有排序功能,不存在多个相同的元素,和set一样,sorted set 也是string类型元素的集合,不同的每个元素都会关联一个权,通过权值来进行排序

1:zdd key 权 值                     给key的set sort排序集合的key添加元素

2:zrevrange  key start end      获取由高到低的各个元素值

3:zscore key value       获取元素的权信息

4:zrank key value           获取元素的排名序号

5:zcard key           获取集合的个数

6:zremrangebyrank key 0 0    删除一个权最小的旧元素

 


以上是关于redis学习的主要内容,如果未能解决你的问题,请参考以下文章

java SpringRetry学习的代码片段

python 机器学习有用的代码片段

学习笔记:python3,代码片段(2017)

学习 PyQt5。在我的代码片段中找不到错误 [关闭]

如何利用redis来进行分布式集群系统的限流设计

jedis连接redis