2016-10-12 20:44:17 allan0508 阅读数 7500
  • 分布式锁实战之SpringBoot实战实现

    本课程将介绍分布式架构下、微服务项目分布式锁的实现方式,包括数据库级别锁、基于Redis的原子操作、基于Zookeeper的实现、基于Redisson的实现等方式。 在实战完各种方式后,我也分享介绍了两个很实用的实际业务场景:“重复提交”、“CRM系统销售人员抢单”(抢单系统抢单),将之前所学到的分布式锁实战实现方式进行了充分的利用,更进一步的巩固了分布式锁的理解!

    1414 人正在学习 去看看 钟林森
DSP的EALLOW和EDIS指令
     在看DSP初始化程序的时候,经常会看到
     void DisableDog(void)
     {
         EALLOW;
         SysCtrlRegs.WDCR= 0x0068;
         EDIS;
    }
EALLOW与EDIS究竟有什么含义呢?
在.h文件中会发现,这两条其实是汇编指令
#define  EALLOW asm(" EALLOW")
#define  EDIS   asm(" EDIS")

    原来TI的DSP为了提高安全性能,将很多关键寄存器作了保护处理。通过状态寄存器1(ST1)的位6设置与复位,来决定是否允许DSP指令对关键寄存器进行操作。这些关键寄存器包括:器件仿真寄存器、FLASH寄存器、CSM寄存器、PIE矢量表、系统控制寄存器、GPIOMux寄存器等等。

    DSP由于在上电复位之后,状态寄存器基本上都是清零,而这样的状态下正是上述特殊寄存器禁止改写的状态。为了能够对这些特殊寄存器进行初始化,所以在对上述特殊寄存器进行改写之前,一定要执行汇编指令asm(“EALLOW”)或者宏定义EALLOW来设置状态寄存器1的C6位,在设置完寄存器之后,一定要注意执行汇编指令asm(“EDIS”)或者宏定义EDIS来清除状态寄存器1的C6位,来防止杂散代码或指针破坏寄存器内容


2019-05-26 22:03:00 weixin_30266885 阅读数 4
  • 分布式锁实战之SpringBoot实战实现

    本课程将介绍分布式架构下、微服务项目分布式锁的实现方式,包括数据库级别锁、基于Redis的原子操作、基于Zookeeper的实现、基于Redisson的实现等方式。 在实战完各种方式后,我也分享介绍了两个很实用的实际业务场景:“重复提交”、“CRM系统销售人员抢单”(抢单系统抢单),将之前所学到的分布式锁实战实现方式进行了充分的利用,更进一步的巩固了分布式锁的理解!

    1414 人正在学习 去看看 钟林森

edis 在Linux 和 在Windows 下的安装是有很大的不同的,和通常的软件安装是一样的.

一  下载 Redis 安装包

去redis 官网下载reids 安装包, redis 官网默认只提供Linux 的安装包,所以不用担心下载到windows 的安装包.笔者下载的是 redis-3.2.1.tar.gz. 下载的为redis 源码,应该使用源码安装方式安装redis.

 

二 安装redis

      1. 解压: tar -zxvf redis-3.2.1.tar.gz

           1.png

      2. 进入解压后的目录,并执行编译操作:  make test

          2.png

     3. 编译测试结束后,出现以下信息,证明没有问题:编译的命令放在src目录下

3.png

4. 编译成功之后,执行install操作即可:sudo make install

        4.png

    5. 目前redis 已经安装成功了redis 的相关命令都存放在../redis-3.2.1/src 目录下,同时在/usr/local/bin/ 目录下生成了如下文件:

        5.png

 

二 redis 的卸载

1. 查看reids 是否在运行,如果在运行的话,先关闭

         6.png

从图上可以看出,redis-server 目前正在6379 端口运行

2. 如果redis-server 服务正在后台运行,那么需停止redis-server 服务:

正常停止redis-server 服务,使用reids 客户端命令: redis-cli shutdown

7.png

如果停止不了,则采取杀死进程的方式:kill -9 PID

8.png

    3. 删除/usr/local/lib 目录下与redis 相关的命令:

        9.png

     4. 删除redis 解压后的目录 redis-3.2.1 即可

 

三 redis 的启动

redis 安装成功之后,会生成相应的reids 命令文件, 所有的命令都在src 目录下,同时会再/usr/local/bin 目录下生成reids-* 的几个命令,这样我们在调用redis 的相关命令的时候可以不使用绝对路径.启动reids 有很多中方式,后台启动,脚本启动等.

1. redis 后台启动: redis-server &

            此种方式没有指定配置文件,会使用默认的配置,并打印一个Warning: no config file ....

           91.png

按ctrl + C 可退出redis 启动窗口,此时redis 并不会关闭,而是会再后台运行,可通过命令查看: ps aux | grep redis

            92.png

     

       2. 指定配置文件启动: redis-server  ***/redis.conf

           解压redis 的原文后, 目录中有一个redis 配置模板 redis.conf , 我们可以复制一份,然后修改成自己的redis配置文件. 此处笔者只修改一个端口号, 将端口号修改为8080, 然后使用 此配置文件启动redis 服务

         93.png

   关闭使用命令: redis-cli -p 8080 shutdown

     3. 设置开机启动:

四 redis 客户客户段连接:

redis 安装成功之后,会生成redis-cli 客户端, 可以通过redis-cli 命令连接本地或者远程的redis服务器.redis-cli 命令有很多参数,常用的选项有-h -p -u -a , 对应于ip地址,端口号,用户名,密码,可通过 redis-cli --help 来查看redis-cli 的常用选项

1. 连接本地redis 示例:

94.png

        2. 连接远程redis:

           95.png

五 关闭redis

       1. 正常关闭本地redis :  redis-cli shutdown, 默认关闭本地6379的redis

96.png
       

            如果正常关闭不了,可以通过杀死线程关闭:

97.png

2. 远程关闭redis 服务器: redis-cli -h xxx.xxx.xxx.xxx  -p xxxx -u xxxx -a xxxx  shutdown

         98.png

转载于:https://www.cnblogs.com/tongongV/p/10927913.html

2013-05-01 01:36:57 liujiangce 阅读数 85
  • 分布式锁实战之SpringBoot实战实现

    本课程将介绍分布式架构下、微服务项目分布式锁的实现方式,包括数据库级别锁、基于Redis的原子操作、基于Zookeeper的实现、基于Redisson的实现等方式。 在实战完各种方式后,我也分享介绍了两个很实用的实际业务场景:“重复提交”、“CRM系统销售人员抢单”(抢单系统抢单),将之前所学到的分布式锁实战实现方式进行了充分的利用,更进一步的巩固了分布式锁的理解!

    1414 人正在学习 去看看 钟林森
系统由Erlang编写,以LevelDB为后端。近期目标是作为Redis服务器的读从属,远期目标是多master集群模型。
开发者是来自阿根廷的公司Inaka。

http://inaka.github.io/edis/
2019-10-14 15:24:53 xiexiaoyu1996 阅读数 11
  • 分布式锁实战之SpringBoot实战实现

    本课程将介绍分布式架构下、微服务项目分布式锁的实现方式,包括数据库级别锁、基于Redis的原子操作、基于Zookeeper的实现、基于Redisson的实现等方式。 在实战完各种方式后,我也分享介绍了两个很实用的实际业务场景:“重复提交”、“CRM系统销售人员抢单”(抢单系统抢单),将之前所学到的分布式锁实战实现方式进行了充分的利用,更进一步的巩固了分布式锁的理解!

    1414 人正在学习 去看看 钟林森
dsp中有一些配置寄存器是受保护的,无法直接操作。也就是说在对这些寄存器进行修改之前,需要先去掉保护功能

而保护状态是由状态寄存器中EALLOW标志来指示的。
汇编指令“EALLOW”就是将该标志位置位,允许对受保护的寄存器操作 。
EALLOW一般和EDIS配套使用,在对受保护的寄存器操作之后,用EDIS恢复寄存器的被保护状态。

2018-10-26 10:17:10 qq_33897800 阅读数 145
  • 分布式锁实战之SpringBoot实战实现

    本课程将介绍分布式架构下、微服务项目分布式锁的实现方式,包括数据库级别锁、基于Redis的原子操作、基于Zookeeper的实现、基于Redisson的实现等方式。 在实战完各种方式后,我也分享介绍了两个很实用的实际业务场景:“重复提交”、“CRM系统销售人员抢单”(抢单系统抢单),将之前所学到的分布式锁实战实现方式进行了充分的利用,更进一步的巩固了分布式锁的理解!

    1414 人正在学习 去看看 钟林森

在看DSP初始化程序的时候,经常会看到

void InitAdc(void)
{
   EALLOW;
   SysCtrlRegs.HISPCP.all = ADC_MODCLK;	
   InitAdc();
   EDIS;
}         

    EALLOW与EDIS究竟有什么含义呢?

    在.h文件中会发现,这两条其实是汇编指令

    #define  EALLOW asm(" EALLOW")
    #define  EDIS   asm(" EDIS")

    他们的作用是:EALLOW,EDIS一般是成对使用的,有些寄存器是受到保护的,不能任意写,EALLOW相当于去掉保护,对写保护的寄存器进行操作后 EDIS 是重新把这个寄存器保护起来的意思。

DSP-EALLOW和EDIS

阅读数 745

没有更多推荐了,返回首页